From 9bc39377aa0317ffbfed3b6e29814bb26681cfd5 Mon Sep 17 00:00:00 2001 From: Ian Coleman Date: Wed, 16 Nov 2016 11:58:51 +1100 Subject: zxcvbn errors are caught, with strength 'unknown' --- src/js/index.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/js') diff --git a/src/js/index.js b/src/js/index.js index e064185..dbbd382 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -810,13 +810,20 @@ // If time to crack is less than one day, and password is considered // strong or better based on the number of bits, rename strength to // 'easily cracked'. - var z = zxcvbn(entropy.cleanStr); - var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second; - if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) { - strength = "easily cracked"; - if (z.feedback.warning != "") { - strength = strength + " - " + z.feedback.warning; - }; + try { + var z = zxcvbn(entropy.base.parts.join("")); + var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second; + if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) { + strength = "easily cracked"; + if (z.feedback.warning != "") { + strength = strength + " - " + z.feedback.warning; + }; + } + } + catch (e) { + strength = "unknown"; + console.log("Error detecting entropy strength with zxcvbn:"); + console.log(e); } var bitsStr = getNumberOfEntropyBits(entropy); var wordCount = Math.floor(entropy.binaryStr.length / 32) * 3; -- cgit v1.2.3