Open source project developed by a team at Google and many contributors from the open source community.
Very often hackers are able to hijack user's account just because passwords are too "weak" or popular. Every experienced user have to remember simple rules and avoid using passwords like "qwerty" or "12345".
How can a developer help user to create a solid password? By using the special reminders, that will notify user about the problem in his password.
Crunchy, a new Go library will coder in this situation. It finds common flaws in passwords. Like cracklib, but written in Go.
It can detect:
- Empty passwords
- Too short passwords
- Too few different characters, like "abcddd"
- Systematic passwords, like "abcdef" or "654321"
- Passwords from a dictionary / wordlist
- Mangled / reversed passwords like "p@ssw0rd" or "drowssap"
Your system dictionaries from
/usr/share/dict will be indexed. If no dictionaries were found, crunchy only relies on the regular sanity checks (ErrEmpty, ErrTooShort and ErrTooSystematic). On Ubuntu it is recommended to install the wordlists distributed with
cracklib-runtime, on macOS you can install
cracklib-words from brew. You could also install various other language dictionaries or wordlists, e.g. from skullsecurity.org.
crunchy uses the WagnerFischer algorithm to find mangled passwords in your dictionaries.
You can learn more about Crunchy at GitHub.