Skip to content
/ hashpw Public

hashpw is a cross-platform Python script that lets you create or verify password hashes from most commonly used algorithms

License

Notifications You must be signed in to change notification settings

unixnut/hashpw

Repository files navigation

HashPW

This is a Python program that prompts for a password and prints the hash. Also has a verify mode that confirms whether or not a provided hash matches a typed password.

This command generates a wide variety of password hashes. Sensible use of exceptions handle most error conditions.

Run hashpw --help for info.

Supported algorithms (hash type identifiers highlighted):

  • bcrypt: Portable PHP password hashing framework, a.k.a. Phpass ($P$)
  • phpBB3 bcrypt ($H$)
  • Blowfish
  • Unix schemes: Crypt (two character salt), Ext DES (_), MD5 ($1$), blowfish ($2a$, $2y$, $2b$), SHA-256 ($5$), SHA-512 ($6$)
  • Apache: SHA1 ({SHA}), MD5 ($apr1$)
  • MySql: SHA1 (*), MD5, Old
  • SSHA
  • HTTP basic authentication
  • Grub's PBKDF2 SHA512 (grub.pbkdf2.sha512)
  • Django: PBKDF2 (pbkdf2_sha256), PBKDF2 SHA1 (pbkdf2_sha1), Bcrypt SHA256 (bcrypt_sha256), Argon2 (argon2)
  • passlib's SCrypt ($scrypt$)
  • YesCrypt ($y$)
  • YesCrypt old, a.k.a. SCrypt ($7$)

Bugs

  • When supplying a salt (not a full hash) in verify mode, get "ext-des hashing does not appear to be supported on this platform"

TO-DO

About

hashpw is a cross-platform Python script that lets you create or verify password hashes from most commonly used algorithms

Resources

License

Stars

Watchers

Forks

Packages

No packages published