. "$GRIMOIRE"/CMAKE_FUNCTIONS
           SPELL=zxcvbn-c
         VERSION=2.5
          SOURCE="$SPELL-$VERSION.tar.gz"
   SOURCE_URL[0]=https://github.com/tsyrogit/$SPELL/archive/refs/tags/v$VERSION.tar.gz
     SOURCE_HASH=sha512:d7199b3cc36cd0e401bd8f857132425908307aefcdb1bb635ee81c34cf71ccbcdf0fe36a336a55da1281692b508881b54773afa41379a448863095f4abd5c0e8
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
        WEB_SITE="https://github.com/tsyrogit/zxcvbn-c"
      LICENSE[0]="MIT"
         ENTERED=20250123
        KEYWORDS=""
           SHORT="Low-budget password strength estimator"
cat << EOF
This is a C/C++ implementation of the zxcvbn password strength estimation.

zxcvbn is a password strength estimator inspired by password crackers. Through
pattern matching and conservative estimation, it recognizes and weighs 30k
common passwords, common names and surnames according to US census data,
popular English words from Wikipedia and US television and movies, and other
common patterns like dates, repeats (aaa), sequences (abcd), keyboard patterns
(qwertyuiop), and l33t speak.

Consider using zxcvbn as an algorithmic alternative to password composition
policy — it is more secure, flexible, and usable when sites require a
minimal complexity score in place of annoying rules like "passwords must
contain three of: lower, upper, numbers, symbols".

* More secure: policies often fail both ways, allowing weak passwords
  (P@ssword1) and disallowing strong passwords.
* More flexible: zxcvbn allows many password styles to flourish so long as it
  detects sufficient complexity — passphrases are rated highly given enough
  uncommon words, keyboard patterns are ranked based on length and number
  of turns, and capitalization adds more complexity when it's unpredictaBle.
* More usable: zxcvbn is designed to power simple, rule-free interfaces that
  give instant feedback. In addition to strength estimation, zxcvbn includes
  minimal, targeted verbal feedback that can help guide users towards less
  guessable passwords.

Like the original this code is for character sets which use single byte
characters primarily in the code range 0x20 to 0x7E.

For further detail and motivation, please refer to:
* https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/wheeler
* https://blogs.dropbox.com/tech/2012/04/zxcvbn-realistic-password-strength-estimation/
EOF
