Contains the class PWRules, that implements the extensive password rules supported by the AS400/IBMi and Mainframe RACF.
The class is constructed using the settings from the SetPasswordRules Host/HostNames setting.
It is quite an extensive source file with 1,200+ lines of code and in order to support all the rules, it is quite complex...but has been fully tested with a Test rig that tested all permutations of the available options.
Generation randomization is achieved using the System.Security.Cryptography.RNGCryptoServiceProvider class and no predictable patterns or sequencing are implemented.
public PWRules(string def, bool noLogging = false)
Constructs a Password Generator object using a definition as defined in SetPasswordRules
public string GenPW(string lastPW)
Will return a generate password--if the user's previous password is available, it should be provided otherwise null. The previous password is needed for a rule that states no characters can be repeated from the last password.