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$`)
- see http://www.mindrot.org/projects/py-bcrypt/
+ phpBB3 bcrypt (`$H$`)
+ [Blowfish](http://en.wikipedia.org/wiki/Crypt_(Unix)#Blowfish-based_scheme)
+ Unix schemes: Crypt (two character salt), MD5 (`$1$`), blowfish (`$2a$`), SHA-256 (`$5$`), SHA-512 (`$6$`)
+ Apache: SHA1 (`{SHA}`), MD5 (`$apr1$`)
+ MySql: SHA1 (`*`), Old
+ Basic MD5
+ SSHA
+ Django: PBKDF2
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
-----
+ Support Drupal 7's SHA-512-based secure hash (hash type identifier = "$S$")
+ Support generic [Password-Based Key Derivation Function 2](https://en.wikipedia.org/wiki/PBKDF2)
- http://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf
- $pdkdf2$ (SHA-1)
- $pdkdf2-sha256$ (SHA-256)
- $pdkdf2-sha512$ (SHA-512)
+ Support scrypt <https://en.wikipedia.org/wiki/Scrypt>
+ Option to generate/recognise simple hashes (e.g. BasicMD5, OldPassword) with prefixes
+ Accept password on standard input (without confirmation)
+ Support "doveadm pw" encoding scheme suffixes (.b64, .base64 and .hex); see
http://wiki2.dovecot.org/Authentication/PasswordSchemes
+ Support Argon2i password hashing algorithm: https://wiki.php.net/rfc/argon2_password_hash
Raw data
{
"_id": null,
"home_page": "https://github.com/unixnut/hashpw",
"name": "hashpw",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": null,
"keywords": "password, hash, cli",
"author": "Alastair Irvine",
"author_email": "alastair@plug.org.au",
"download_url": "https://files.pythonhosted.org/packages/2a/9e/b3e84035115f80e8a032936eea8c9a37b096d21fe5762f89604f55147922/hashpw-2.6.0.tar.gz",
"platform": null,
"description": "HashPW\n======\nThis is a Python program that prompts for a password and prints the\nhash. Also has a verify mode that confirms whether or not a provided\nhash matches a typed password.\n\nThis command generates a wide variety of password hashes. Sensible use\nof exceptions handle most error conditions.\n\nRun **`hashpw --help`** for info.\n\nSupported algorithms (hash type identifiers `highlighted`):\n\n + bcrypt: Portable PHP password hashing framework, a.k.a. Phpass (`$P$`)\n - see http://www.mindrot.org/projects/py-bcrypt/\n + phpBB3 bcrypt (`$H$`)\n + [Blowfish](http://en.wikipedia.org/wiki/Crypt_(Unix)#Blowfish-based_scheme)\n + Unix schemes: Crypt (two character salt), MD5 (`$1$`), blowfish (`$2a$`), SHA-256 (`$5$`), SHA-512 (`$6$`)\n + Apache: SHA1 (`{SHA}`), MD5 (`$apr1$`)\n + MySql: SHA1 (`*`), Old\n + Basic MD5\n + SSHA\n + Django: PBKDF2\n\nBugs\n----\n + When supplying a salt (not a full hash) in verify mode, get \"ext-des\n hashing does not appear to be supported on this platform\"\n\nTO-DO\n-----\n\n + Support Drupal 7's SHA-512-based secure hash (hash type identifier = \"$S$\")\n + Support generic [Password-Based Key Derivation Function 2](https://en.wikipedia.org/wiki/PBKDF2)\n - http://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf\n - $pdkdf2$ (SHA-1)\n - $pdkdf2-sha256$ (SHA-256)\n - $pdkdf2-sha512$ (SHA-512)\n + Support scrypt <https://en.wikipedia.org/wiki/Scrypt>\n + Option to generate/recognise simple hashes (e.g. BasicMD5, OldPassword) with prefixes\n + Accept password on standard input (without confirmation)\n + Support \"doveadm pw\" encoding scheme suffixes (.b64, .base64 and .hex); see\n http://wiki2.dovecot.org/Authentication/PasswordSchemes\n + Support Argon2i password hashing algorithm: https://wiki.php.net/rfc/argon2_password_hash\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Universal password hash generator and verifier",
"version": "2.6.0",
"project_urls": {
"Homepage": "https://github.com/unixnut/hashpw"
},
"split_keywords": [
"password",
" hash",
" cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0a6746525069e2177709a4e133c416a3d7a6ddbc29e02b7ed214b9e1c226c753",
"md5": "0315d0308536819c943ab4789ab4eee5",
"sha256": "edbba1a4feba6a21717178f5aca385990383a3eaf9654278c234cc69391bd491"
},
"downloads": -1,
"filename": "hashpw-2.6.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "0315d0308536819c943ab4789ab4eee5",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.5",
"size": 25896,
"upload_time": "2024-09-25T18:02:19",
"upload_time_iso_8601": "2024-09-25T18:02:19.652940Z",
"url": "https://files.pythonhosted.org/packages/0a/67/46525069e2177709a4e133c416a3d7a6ddbc29e02b7ed214b9e1c226c753/hashpw-2.6.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2a9eb3e84035115f80e8a032936eea8c9a37b096d21fe5762f89604f55147922",
"md5": "1d7fdef810d3292bbba7335e0e529203",
"sha256": "8108179a902fc827dd00670e22662936697804ebf0ff343de94582e4eb498fe8"
},
"downloads": -1,
"filename": "hashpw-2.6.0.tar.gz",
"has_sig": false,
"md5_digest": "1d7fdef810d3292bbba7335e0e529203",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 24798,
"upload_time": "2024-09-25T18:02:21",
"upload_time_iso_8601": "2024-09-25T18:02:21.548825Z",
"url": "https://files.pythonhosted.org/packages/2a/9e/b3e84035115f80e8a032936eea8c9a37b096d21fe5762f89604f55147922/hashpw-2.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-25 18:02:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "unixnut",
"github_project": "hashpw",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "hashpw"
}