WORK IN PROGRESS - Feel free to raise any issues, features or improvements on GitHub!
What does this program do?
Hash-gen aims to find the matching hex value for a given hash, therefore finding out the
unencrypted/original value of the hash.
Example
Take the number, 500
.
Convert 500
to hex and you will get 1f4
.
Encrypt 1f4
with sha256 and you will get the following hash:
10be707c02c8eafff11f843178cc5c86381b2d31d3569b268ad4d0a4dc890c7d
Now, say you are trying to find the value behind this hash. How would Hash-gen
do this? Just run the following:
$ hash-gen -t 10be707c02c8eafff11f843178cc5c86381b2d31d3569b268ad4d0a4dc890c7d -s 5 -d 1 -h sha256 -V --log
After running this command, Hash-gen would set the target hash target to 10be707c02c8eafff11f843178cc5c86381b2d31d3569b268ad4d0a4dc890c7d
, starting at 5
it would increment by 1
, each time converting the number to hex, hashing the hex and checking
to see if the hash is equal to the target
hash. For example:
Int: 5
Hex: 5
Hash: ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d
...
Int: 170
Hex: aa
Hash: 961b6dd3ede3cb8ecbaacbd68de040cd78eb2ed5889130cceb4c49268ea4d506
Int: 171
Hex: ab
Hash: fb8e20fc2e4c3f248c60c39bd652f3c1347298bb977b8b4d5903b85055620603
Int: 172
Hex: ac
Hash: f45de51cdef30991551e41e882dd7b5404799648a0a00753f44fc966e6153fc1
Int: 173
Hex: ad
Hash: 70ba33708cbfb103f1a8e34afef333ba7dc021022b2d9aaa583aabb8058d8d67
Int: 174
Hex: ae
Hash: f9a00f43e97e3966bb846e76b6795e11512c3bbfa787e6b70e0310c7b9346b98
Int: 175
Hex: af
Hash: 503126878d17fcd6bde7df320ff6eb7c278a1c42f30014a03b17f3dd0c023c1d
If Hash-gen does find a match it will output something similar to this:
-- A MATCH FOR YOUR HASH VALUE HAS BEEN FOUND --
Writing to /Users/ryan/Documents/hash_logs/sha256-54048.txt...
Successfully saved match.
Locate the .txt file, if the --log
argument was passed, this file will contain all the previous hex/hash pairs.
You may need to run a search on the file for the target hash. Example contents of .txt file:
sha256 hash log.
Matched On Int: 500
Hex Value: 1f4
Hash Type: sha256
Hash: 10be707c02c8eafff11f843178cc5c86381b2d31d3569b268ad4d0a4dc890c7d
Congratulations! You now know that your target hash
has the hex value of 1f4
.
1. Install hash-gen
$ npm install --global hash-gen
Ensure you are using node version 6 or above. Double check the installation has gone smoothly by simply running:
$ hash-gen
If it has, you should see the following message:
Hash-gen has been successfully installed! Time to get hashing.
2. Start Hashing!
$ hash-gen -h sha256 -t bf9949911bad9ad71e2b8d4904ea4ffd386a6a8fa03e68e1d2ac738fd1d8be4d -s 5 -d 1 -V -l
Hash Matching
-t, --target The hash you are trying to find a match for
-h, --hash Type of hash e.g sha256, sha512 etc. (sha256 is default)
-s, --start The number you would like to start at (1 is default)
-d, --delay Delay in milliseconds between each hash (5 is default, 1 is minimum value)
-l, --log Keep a log of all created hashes to file (Can slow hash generation when ON)
-V, --Verbose Verbose output (Shows hex & hash)
--ssh Enables SSH mode (No console output at all) - Highly recommended when running Hash-gen on a VPS
Hash Creation
-c, --create Only used when creating a hash. The value you would like to hash (e.g. password)
-h, --hash Type of hash e.g sha256, sha512 etc. (sha256 default)
--digest hex, base64, utf8, latin1 (hex default)
Global
--help Shows help for Hash-gen
Currently Supported hashes
md4
, md5
, mdc2
,
sha
, sha1
, sha224
, sha256
, sha384
, sha512
,
dss1
,
ripemd
, ripemd160
, rmd160
,
whirlpool
More hashing algorithm's coming soon! Keep updated via GitHub!