Open
Description
I want to test the password strength on my Staff.rb model.
But using a Rails Console and test a password such as "chenlu0525" with Zxcvbn.test
will give a score of 2 while calling zxcvbn("chenlu0525") will give a score of 3.
Here is the result for zxcvbn("chenlu0525")
(score:3):
JSON.stringify(zxcvbn("chenlu0525"))
password : "chenlu0525"
guesses : 1262010000
guesses_log10 : 9.101062796213672
sequence
calc_time : 1
crack_times_seconds
online_throttling_100_per_hour : 45432360000
online_no_throttling_10_per_second : 126201000
offline_slow_hashing_1e4_per_second : 126201
offline_fast_hashing_1e10_per_second : 0.126201
crack_times_display
online_throttling_100_per_hour : "centuries"
online_no_throttling_10_per_second : "4 years"
offline_slow_hashing_1e4_per_second : "1 day"
offline_fast_hashing_1e10_per_second : "less than a second"
score : 3
feedback
warning : ""
suggestions
Here is the result for Zxcvbn.test("chenlu0525")
(score:2):
Zxcvbn.test("chenlu0525")
#<Zxcvbn::Score:0x007ffa13ae0168
@calc_time=0.0012910170189570636,
@crack_time=411480.0,
@crack_time_display="6 days",
@entropy=32.938,
@match_sequence=
[#<Zxcvbn::Match matched_word="chen", token="chen", i=0, j=3, rank=635, pattern="dictionary", dictionary_name="surnames", base_entropy=9.310612781659529, uppercase_entropy=0.0, l33t_entropy=0, entropy=9.310612781659529>,
#<Zxcvbn::Match pattern="bruteforce", i=4, j=5, token="lu", entropy=10.339850002884624, cardinality=36>,
#<Zxcvbn::Match i=6, j=9, token="0525", pattern="digits", entropy=13.28771237954945>],
@password="chenlu0525",
@score=2>
Any idea why? How to fix?
I am using Rails 4. Also, I use Devise, Client_Side_Validations and Simple_Form, if there is a workaround using devise_zxcvbn, it will work too.