Password Generation and Evaluation

The Generator can choose from roughly 45.000 words, obscure with l33t speak or simply produce complete gibberish. How words are obscured or how the gibberish is produced is highly customizable.

The Evaluator gives you the ability to customize the strength checker on the fly. That enables website administrators to enhance the strength checker via configuration rather than contacting developer to alter some code.

This Windows program is just an interface to a powerful library that can be used with any other Windows programs or ASP .NET websites.


  • The internal wordlist contains over 45.000 words
  • Configure the password strength checker on runtime!
  • Generated passwords can be obscured with l33t speak
  • Prevent profanity in generation with list of banned words
  • Usable with both Windows programs and ASP websites
  • 17 examples are included to get you started with the library
  • Very helpful tool/library to all system administrators
  • Strength checker can tell you how to strengthen your password

Think Regular Expressions are hard/boring?

Me too! This libary uses Ratio strings instead to define rules.

What are Ratio strings?

Ratio strings are rules that you specify so the Library knows how strings should be generated or strength evaluated. There are 7 control characters, they are the only ones allowed:
  • L : lowercase character, example: a b c d e
  • U : UPPERCASE character, example: A B C D E
  • D : Digits or numbers, example: 1 2 3 4 0
  • S : Symbols special characters, example: ! # & ? $
  • A : Anything, can be any of the four control characters. This one is used to specify length, example: AAA means any string of length 3, but LLL would mean any string containing 3 lowercase characters.
  • [ ] : OR brackets are used to specify that a character can have multiple type, example: AA[UD] means any string of length 3, that contains at least 1 uppercase OR 1 digit

Ratio string examples

The order does not matter, LUD is the same as UDL, which means any string of length 3 that contains 1 uppercase, 1 digit and 1 lowercase letter.
  • A : Any string of length 1
  • LLDDD : Any string of length 5 that contains ONLY 2 lowercase and 3 digits
  • AAAAA [UDS] : Any string of length 6 that contains at least [1 Uppercase or 1 Digit or 1 Symbol]
  • AAAAAAAA [UD]S : Any string of length 10 that contains at least 1 Symbol and [1 Uppercase or 1 Digit]
  • AAAAAAAAAAA [UD]S[UD] : Any string of length 14 that contains at least 1 Symbol, and 2 characters are either [Uppercase or Digit]

Want to see more examples?

You can take a look at Part.2 on page 9 in the Documentation that comes with this package. You can also view all 17 code examples and their outputs in this documentation.