Secure random password generator for .NET and PowerShell
Benefits at a glance:
- Uses a cryptographically secure PRNG
- Can guarantee that the password contains digits, special characters, or any other set
- Can generate pronounceable, easier-to-remember passwords
- Packaged as a .NET library and as a PowerShell module
- Comes with API Documentation
The library is available from NuGet:
Install-Package MlkPwgen
Import the namespace:
using MlkPwgen;
Then calling the library is as simple as:
Console.WriteLine(PasswordGenerator.Generate());
Check out the API Documentation for full details.
With PowerShell >5, installation is as simple as:
Install-Module MlkPwgen
Generate a handful of passwords:
PS > 1..5 | foreach { New-Password }
xVs7tYANfs
FGQ4hF29Oe
QHffH4QRUE
ai1AaBqSMe
Dd7cnAG8a8
Generate letters only:
PS > New-Password -Lower -Upper
HccNubILPl
Digits only:
PS > New-Password -Digits -Length 6
470114
All together now, with symbols:
PS > New-Password -Lower -Upper -Digits -Symbols
y3iF(g(xUw
Generate pronounceable passwords:
PS > 1..5 | foreach { New-PronounceablePassword }
NaternNeam
LumLictles
StZattlate
InfeHascal
Tighampers
Pronounceable passwords can have digits and symbols too:
PS > New-PronounceablePassword -Digits -Symbols
^Norompog2
Credit for the algorithm used to generate pronounceable password goes to Tom Van Vleck. I've made a few changes along the way:
- The algorithm has been modified to take into account word endings
- The data tables have been generated from a new source
- I added the ability to mix in random character sets (such as digits and symbols) into the generated password