mkopinsky / zxcvbn-php Goto Github PK
View Code? Open in Web Editor NEWThis project forked from bjeavons/zxcvbn-php
Realistic PHP password strength estimate library based on Zxcvbn JS
License: MIT License
This project forked from bjeavons/zxcvbn-php
Realistic PHP password strength estimate library based on Zxcvbn JS
License: MIT License
After I've first tried the library from bjeavons where the gap between JS & PHP was huge (3 vs 0 as score), I've switched to your fork.
Now the inconsistency is a little bit smaller, but still there is :)
Try stargate100
(without any user data)
Use this issue for tracking situations we need to resolve before release
Password1
, should return 0 (fixed, single character detection wasn't working)rockyou
returns 10,718 guesses, should return 45,900 guesses (fixed, minimum guesses wasn't being applied to all matches)098765
and 09876
are detected as dvorak
instead of qwerty
- this results in a different number of guesses (fixed, typo in SpatialMatch caused dvorak matches to return an incorrect number of guesses)marie1
, upstream detects a L33tMatch
from the female_names
dictionary, but we detect a normal DictionaryMatch
from the passwords
dictionary (fixed, our L33tMatch algorithm didn't match upstream properly)ABC123
and PASSWORD1
are missing the 'All-uppercase is almost as easy...' suggestion (fixed, the 'all uppercase' regex was incorrect)getGuesses
to int, which upstream doesn't do (it's returns a float) - this has a maximum error of 1 guess, but can lead to greater effects when it's part of a set of multiple matches (fixed, now returns float)j123456
is detected as a Bruteforce + SequenceMatch instead of Bruteforce + DictionaryMatch (fixed, matchers were in a different order than upstream which led to SequenceMatch being chosen over DictionaryMatches with equal guesses)regex
to match upstream (instead of year
) (fixed)!QAZ1qaz
), the second match has 4 times as many guesses as it should (fixed, affected passwords where the first character was shifted)hitenmitsurugi
, soldemedianoche
, inthenameofgod
. In all three cases we return slightly less guesses than upstream.Might mention required php version. Had an issue with mb_ord just because I'm still using an older php version. Not a big deal though
After reading this thread bjeavons#15 I gathered this:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.