I have a large list of plaintext passwords stored in a file pwds.txt
and would like to obtain the hashed version of these passwords under various different hash algorithms.
I want one file for each hash algorithm.
As a minimum I would like to obtain hashes under MD5
, SHA1
, SHA256
, (with and without salts) and bcrypt
.
Is there a simple way of obtaining this, without too much scripting?
I thought about leveraging some of the existing password cracking tools, like hashcat
or john
, but unfortunately (to the best of my knowledge) they all start with the assumption that you already have a list of hashed passwords and that you now want to crack them.
Basically, I want the opposite!
I have the plaintext passwords, and want to create the hashed passwords.
I have been unable to come up with a clever combination of command line options (for these two programs) that trick them to output a list of hashes from plaintexts.
Note
I have already created a short PHP-script that achieves this for smaller files, but it runs out of memory for the size of password file I need it for.
awk
would likely be a more-than-capable tool for the job. – HalosGhost Nov 07 '14 at 15:05hashcat
orjohn
since they have optimized implementations of almost any hash algorithm there is. – hakoja Nov 07 '14 at 15:16crypt
function; Python'scrypt
module is handy for that. For bcrypt, which may not be present on your system, look for a bcrypt implementation in your language's standard library or as a third-party library. Note that in addition to the passwords, you'll need to supply salts and itertion counts. Note also thatcrypt
with MD5, SHA-1, etc. is not the MD5/SHA-1/… algorithm, but an algorithm that uses the hash function in a loop, mixing in the salt. – Gilles 'SO- stop being evil' Nov 09 '14 at 01:26