Passcheck - a sanity checker for passwords


(C)opyright 2003, Andrew McCall
Licensed under the GNU Lesser GPL



This is a drop in replacement or rewrite of the  original cracklib, and shares no code with the original(note: as they do the same thing, there are a few similar algorithms). The intent of this rewrite is to:
  1. provide an updated version of the somewhat difficult to find cracklib
  2. allow DIY'ers a ready to use cracklib
  3. to make an even more thourough and accurate cracklib
  4. provide a more liberally licensed free software(LPGL) versus the problematic original Artistic license

Why use this instead of Cracklib 2.27?

This project is actively maintained, if you have problems with the library, you can submit bug reports or patches and see them in the next version. Unlike the original cracklib, this library works with your current system's wordlist.  (Although making a lowercase only wordlist is recommended for English as well as a few other languages.) This library has a much more liberal license, than the original.  According to, the original fails to meet free software guidelines and is therefore non-free(see the license list, under non-free licenses, the Artistic license.) This version supports a much more exacting similarity test against the dictionary, by using the Levenshtein distance algorithm.

Why not use this instead of cracklib 2.27?

This routines used in this library are a bit slower than those in the original cracklib, however, testing on a few older machines(k6-2 level), the delay was minimal.


This library is currently of BETA quality, and does not have a nice automated configure; make; make install yet. To build:
  1. Unpackage the source code,
  2. Run "make"
  3. Run "make install"