Skip to content

Releases: cyclone-github/hashgen

v1.2.0

09 Nov 04:24
a0de703

Choose a tag to compare

Readme Card
License

Full Changelog: v1.1.4...v1.2.0

v1.2.0; 2025-11-08

addressed raw base-16 issue https://github.com/cyclone-github/hashgen/issues/8
added feature: "keep-order" from https://github.com/cyclone-github/hashgen/issues/7
added dynamic lines/sec from https://github.com/cyclone-github/hashgen/issues/11
added modes: mysql5 (300), phpass (400), md5crypt (500), sha256crypt (7400), sha512crypt (1800), Wordpress bcrypt-HMAC-SHA384 (wpbcrypt)
added hashcat salted modes: -m 10, 20, 110, 120, 1410, 1420, 1310, 1320, 1710, 1720, 10810, 10820
added hashcat modes: -m 2600, 4500
added encoding modes: base32encode, base32decode
cleaned up hashFunc aliases, algo typo, hex mode, hashBytes case switch, base64 and base58 decoders
fixed ntlm encoding issue
added sanity check to not print blank / invalid hash lines (part of ntlm fix, but applies to all hash modes)
converted checkForHex from string to byte
updated yescrypt parameters to match debian 12 (libxcrypt) defaults

Features:

  • Maintains original input order PR 10
  • Supports 60+ modes/functions (see list below)
  • Encode / decode base64 & base58
  • Hex / dehex wordlists
  • Supports ASCII, UTF-8 and $HEX[] input
  • Supports UTF-8 (default) or $HEX[] output
  • Supports multiple salted modes such as -m 110 / -m 120
Useage Examples Command Line
read wordlist.txt, hash to md5 and write to output.txt ./hashgen -m md5 -w wordlist.txt -o output.txt
pipe wordlist into hashgen and write to stdout cat wordlist.txt | ./hashgen -m md5
decode $HEX[] wordlist to plaintext ./hashgen -m plaintext -w hex_wordlist.txt
convert wordlist to $HEX[] ./hashgen -m hex -w wordlist.txt
output hash:plain ./hashgen -m md5 -w wordlist.txt -hashplain
benchmark md5 ./hashgen -m md5 -w wordlist.txt -b

Supported Options:

Flag: Description:
-m {mode}
-w {wordlist input}
-t {cpu threads}
-o {wordlist output}
-b {benchmark mode}
-cost {bcrypt}
-hashplain {generates hash:plain pairs}
-help {help menu}
-version {version info}

Supported Functions:

Function: Hashcat Mode:
Plaintext & Encoding
plaintext / dehex 99999 (decode $HEX[])
hex (encode to $HEX[])
base64encode
base64decode
base58encode
base58decode
base32encode
base32decode
morsecode (ITU-R M.1677-1)
Checksums
crc32
11500 (hashcat compatible CRC32)
crc64
MDx
md4 900
md5 0
md5passsalt 10
md5saltpass 20
md5md5 2600
SHA1
sha1 100
sha1passsalt 110
sha1saltpass 120
sha1sha1 4500
SHA2
sha224 1300
sha224passsalt 1310
sha224saltpass 1320
sha256 1400
sha256passsalt 1410
sha256saltpass 1420
sha384 10800
sha384passsalt 10810
sha384saltpass 10820
sha512 1700
sha512passsalt 1710
sha512saltpass 1720
sha512-224
sha512-256
SHA3
sha3-224 17300
sha3-256 17400
sha3-384 17500
sha3-512 17600
Keccak
keccak-224 17700
keccak-256 17800
keccak-384 17900
keccak-512 18000
BLAKE2
blake2b-256
blake2b-384
blake2b-512
600 (hashcat compatible blake2b-512)
blake2s-256
31000 (hashcat compatible blake2s-256)
Other Hashes
ripemd-160 6000
mysql5 300
ntlm 1000
Crypt / KDF
argon2id 34000
bcrypt 3200
wpbcrypt (WordPress HMAC-SHA384 + bcrypt)
md5crypt 500 (Linux shadow $1$)
sha256crypt 7400 (Linux shadow $5$)
sha512crypt 1800 (Linux shadow $6$)
phpass 400 (PHP/WordPress $P$/phpBB3 $H$)
yescrypt (Linux shadow $y$)
23e2567f06928ffaef8759ff92cfffee2557699c  hashgen_amd64.bin
0457b6d58680810d020e7b8a05d755f133195bfd  hashgen_arm64.bin
0b7012b84b13d23ff5a748aabe92d21f610a0fb0  hashgen_amd64.exe

Jotti Antivirus Scan Results:
https://virusscan.jotti.org/en-US/filescanjob/0ptogpf18y,b7pk4na5e3,38gxkbdxdc

v1.1.4

24 Aug 00:35
b97f732

Choose a tag to compare

Readme Card
License

Full Changelog: v1.1.3...v1.1.4

v1.1.4; 2025-08-23

added modes: keccak-224, keccak-384, blake2b-256, blake2b-384, blake2b-512, blake2s-256
added benchmark flag, -b (to benchmark current mode, disables output)
compiled with Go v1.25.0 which gives a small performance boost to multiple algos
added notes concerning some NTLM hashes not being crackable with certain hash cracking tools due to encoding gremlins

Features:

  • Supports 38+ modes/functions (see list below)
  • Encode / decode base64 & base58
  • Hex / dehex wordlists
  • Supports ASCII, UTF-8 and $HEX[] wordlist input
Useage Examples Command Line
read wordlist.txt, hash to md5 and write to output.txt ./hashgen -m md5 -w wordlist.txt -o output.txt
pipe wordlist into hashgen and write to stdout cat wordlist.txt | ./hashgen -m md5
dehex wordlist to plaintext ./hashgen -m dehex -w hex_wordlist.txt
convert wordlist to $HEX[] ./hashgen -m hex -w wordlist.txt
output hash:plain ./hashgen -m md5 -w wordlist.txt -hashplain
benchmark md5 ./hashgen -m md5 -w wordlist.txt -b

Supported Options:

Flag: Description:
-m {mode}
-w {wordlist input}
-t {cpu threads}
-o {wordlist output}
-b {benchmark mode}
-cost {bcrypt}
-hashplain {generates hash:plain pairs}
-help {help menu}
-version {version info}

Supported Functions:

Function: Hashcat Mode:
argon2id 34000 (slow algo)
base58decode
base58encode
base64decode
base64encode
bcrypt 3200 (slow algo)
blake2s-256
31000 (hashcat compatible blake2s-256)
blake2b-256
blake2b-384
blake2b-512
600 (hashcat compatible blake2b-512)
crc32
11500 (hashcat compatible CRC32)
crc64
hex ($HEX[] format)
dehex/plaintext 99999 (dehex wordlist)
keccak-224 17700
keccak-256 17800
keccak-384 17900
keccak-512 18000
md4 900
md5 0
morsecode (ITU-R M.1677-1)
ntlm 1000
ripemd-160 6000
sha1 100
sha2-224 1300
sha2-256 1400
sha2-384 10800
sha2-512 1700
sha2-512-224
sha2-512-256
sha3-224 17300
sha3-256 17400
sha3-384 17500
sha3-512 17600
yescrypt (slow algo)
454a9129f1162e1abd32ad204c92f077e901496e  hashgen_amd64.bin
788f8f65210b0e325eb9e5e897b847d45355b11d  hashgen_arm64.bin
10976ca5ed94e62324f60810df4a190b19ae163b  hashgen_amd64.exe

Jotti Antivirus Scan Results:
https://virusscan.jotti.org/en-US/filescanjob/atm48a56mq,f0gdxz10e4,7ehjwq8y9u

v1.1.3

01 Jul 00:04
46d3a24

Choose a tag to compare

Readme Card
License

Full Changelog: v1.1.2...v1.1.3

  • v1.1.3; 2025-06-30
added mode "hex" for $HEX[] formatted output
added alias "dehex" to "plaintext" mode
improved "plaintext/dehex" logic to decode both $HEX[] and raw base-16 input

Features:

  • Supports 30+ modes/functions (see list below)
  • Encode / decode base64 & base58
  • Hex / dehex wordlists
  • Supports ASCII, UTF-8 and $HEX[] wordlist input
Useage Examples Command Line
read wordlist.txt, hash to md5 and write to output.txt ./hashgen -m md5 -w wordlist.txt -o output.txt
pipe wordlist into hashgen and write to stdout cat wordlist.txt | ./hashgen -m md5
dehex wordlist to plaintext ./hashgen -m dehex -w hex_wordlist.txt
convert wordlist to $HEX[] ./hashgen -m hex -w wordlist.txt
output hash:plain ./hashgen -m md5 -w wordlist.txt -hashplain

Supported Options:

Flag: Description:
-m {mode}
-w {wordlist input}
-t {cpu threads}
-o {wordlist output}
-cost {bcrypt}
-hashplain {generates hash:plain pairs}
-help {help menu}
-version {version info}

Supported Functions:

Function: Hashcat Mode:
argon2id (slow algo)
base58decode
base58encode
base64decode
base64encode
bcrypt 3200 (slow algo)
11500 (hashcat compatible CRC32)
crc32
crc64
hex ($HEX[] format)
dehex/plaintext 99999 (dehex wordlist)
keccak-256 17800
keccak-512 18000
md4 900
md5 0
morsecode (ITU-R M.1677-1)
ntlm 1000
ripemd-160 6000
sha1 100
sha2-224 1300
sha2-256 1400
sha2-384 10800
sha2-512 1700
sha2-512-224
sha2-512-256
sha3-224 17300
sha3-256 17400
sha3-384 17500
sha3-512 17600
yescrypt (slow algo)
ea2943f2c7cc18f2f5e65f72c1e2d22832ecc482  hashgen_amd64.bin
112ce5d12ed992869dd601dcf46849b3ea819d55  hashgen_arm64.bin
8811b4a203765e7272a3c0eaec3087f941d80a35  hashgen_arm.bin
8faf3dc90c08716406c4a75401dedc0b87fcc676  hashgen_amd64.exe

Jotti Antivirus Scan Results:
https://virusscan.jotti.org/en-US/filescanjob/6nrmrqf5tm,zszdll28pf,zpx063net4,7ixbow1fnp

v1.1.2

01 May 16:56
f085b8f

Choose a tag to compare

hashgen - the blazingly fast hash generator

Changelog:

Supported Functions:

Function: Hashcat Mode:
argon2id
base58encode
base58decode
base64encode
base64decode
bcrypt 3200
morsecode (ITU-R M.1677-1)
crc32
11500 11500 (hashcat compatible CRC32)
crc64
md4 900
md5 0
ntlm 1000
plaintext 99999 (can be used to dehex wordlist)
ripemd-160 6000
sha1 100
sha2-224 1300
sha2-256 1400
sha2-384 10800
sha2-512 1700
sha2-512-224
sha2-512-256
sha3-224 17300
sha3-256 17400
sha3-384 17500
sha3-512 17600
keccak-256 17800
keccak-512 18000
yescrypt
5566c5d14150b96f1cfe6a6ad62692fb872121d06722058a40e4aac4118f8732  hashgen_amd64.bin
b7299980b7d8ec797f3ddd1f958b5e08d57f55b8930b6d00bd4c6e7784394112  hashgen_arm64.bin
aa057d10b8fdd282e29395cb7550051ecaf73a54bce3991c5cf21fa18d657332  hashgen_arm.bin
d83851180c5efa4c18d907cbc64f600e894524c4508caf34131dbaf600da62a2  hashgen_amd64.exe

Jotti Antivirus Scan Results:
https://virusscan.jotti.org/en-US/filescanjob/jgv5tuapw6,vbj5jlyc5w,lxx9bv26wi,9jgd9dyqz0

v1.1.0

19 Mar 18:34
60efc73

Choose a tag to compare

hashgen - the blazingly fast hash generator

Changelog:

Supported Functions:

Function: Hashcat Mode:
argon2id
base58encode
base58decode
base64encode
base64decode
bcrypt 3200
morsecode (ITU-R M.1677-1)
crc32
11500 11500 (hashcat compatible CRC32)
crc64
md4 900
md5 0
ntlm 1000
plaintext 99999 (can be used to dehex wordlist)
ripemd-160 6000
sha1 100
sha2-224 1300
sha2-256 1400
sha2-384 10800
sha2-512 1700
sha2-512-224
sha2-512-256
sha3-224 17300
sha3-256 17400
sha3-384 17500
sha3-512 17600
keccak-256 17800
keccak-512 18000
5783fa78c40b6212da102ac7a4ad340739f63b3452aea24b0b0be2cc8b86102a  hashgen_amd64.bin
4f35549011f98853c6eb766c0880188c0d0902b82b11e2c7db888456268ff215  hashgen_amd64.exe
59ae5ddf8e291942c0f676b565744cdab83826ea13e6c98ab11afb4e516feb95  hashgen_arm64.bin
5e90f84aca33d8c9e0d9f5a271c51ff8a60cd9e813355ebd01e3b33b96f36c00  hashgen_arm.bin

Jotti Antivirus Scan Results:
https://virusscan.jotti.org/en-US/filescanjob/c8a8qs0fz6,srsmq09bbk,gy8sxbycvz,wtshu0zltk

v1.0.0

11 Dec 01:10
7c4d425

Choose a tag to compare

hashgen - the blazingly fast hash generator

$ ./hashgen_amd64.bin -m 0 -w rockyou.txt -o /dev/null
2024/12/10 19:07:31 Starting...
2024/12/10 19:07:31 Processing file: rockyou.txt
2024/12/10 19:07:31 Hash function: 0
2024/12/10 19:07:31 CPU Threads: 16
2024/12/10 19:07:31 Finished processing 14344391 lines in 0.475 sec (30.228 M lines/sec)

Changelog:

https://github.com/cyclone-github/hashgen/blob/main/CHANGELOG.md

Supported Functions:

Function: Hashcat Mode:
base64encode
base64decode
morsecode (ITU-R M.1677-1)
crc32
11500 11500 (hashcat compatible CRC32)
crc64
md4 900
md5 0
ntlm 1000
plaintext 99999 (can be used to dehex wordlist)
ripemd-160 6000
sha1 100
sha2-224 1300
sha2-256 1400
sha2-384 10800
sha2-512 1700
sha2-512-224
sha2-512-256
sha3-224 17300
sha3-256 17400
sha3-384 17500
sha3-512 17600
keccak-256 17800
keccak-512 18000
d267bb5dfa34293974e108c13313aceb2e77023fe536605282bbd77fcc378673  hashgen_amd64.bin
6ede23f8d4b207672971a2ec3c633a36188829eb9f296866b5ff5564aadafa82  hashgen_amd64-darwin
c1cef60faff53e9c21abf0a23681bfaf3eb2d4b2784efb2586de40058dec0b1f  hashgen_amd64.exe
cd255db13e240efe0fe1f5f5d05b9e0e2658a3534bd973ffb58725120826932f  hashgen_arm64.bin
928d8de7a72774380830c098196de64ac96ec79e305f7bd12ba92ddc59387aaf  hashgen_arm.bin

Jotti Antivirus Scan Results:
https://virusscan.jotti.org/en-US/filescanjob/44qiqxvfsr,367c7b7j96,j06estsha7,xwicv7w4uu,x82ktdyfkn

v2024-11-01.1630-threaded

01 Nov 22:37
bbe9e03

Choose a tag to compare

hashgen - the blazingly fast hash generator

$ ./hashgen_amd64.bin -m 0 -t 16 -w rockyou.txt -o /dev/null 
2024/11/01 17:32:57 Starting...
2024/11/01 17:32:57 Processing file: rockyou.txt
2024/11/01 17:32:57 Hash function: 0
2024/11/01 17:32:57 CPU Threads: 16
2024/11/01 17:32:57 Finished processing 14344391 lines in 0.485 sec (29.561 M lines/sec)

Changelog since v2023-11-04.1330-threaded:

  • v2024-08-24.2000-threaded;
    • added mode "morsecode" which follows ITU-R M.1677-1 standard
  • v2024-11-01.1630-threaded;
    • added thread flag "-t" to allow user to specity CPU threads, ex: -t 16 // fixed default to use max CPU threads
    • added modes: sha2-224, sha2-384, sha2-512-224, sha2-512-256, keccak-256, keccak-512

Supported Functions:

Function: Hashcat Mode:
base64encode
base64decode
morsecode (ITU-R M.1677-1)
crc32
11500 11500 (hashcat compatible CRC32)
crc64
md4 900
md5 0
ntlm 1000
plaintext 99999 (can be used to dehex wordlist)
ripemd-160 6000
sha1 100
sha2-224 1300
sha2-256 1400
sha2-384 10800
sha2-512 1700
sha2-512-224
sha2-512-256
sha3-224 17300
sha3-256 17400
sha3-384 17500
sha3-512 17600
keccak-256 17800
keccak-512 18000
c15c6bf8022e70faa9b97e57b2abd2a76ece761e77867661c6e0d3c53075ea7e  hashgen_amd64.bin
8f99ac6ddc66a723dec3314c20ca57759e09d2f929c6660469de99dade766bbe  hashgen_amd64-darwin
97a8235a02a49279dae9531336047a18d606b7f96e2f29b10cae6f40b7d539a0  hashgen_amd64.exe
6603530f01ffe2f9e7ba27a3c4457c03d8cece48c3eb2762b0036852430e99d7  hashgen_arm64.bin
7b9d31c00b43cac45a0bbe4c535e322645bd388cde73e06791a4cb01ce4bceaa  hashgen_arm.bin

Jotti Antivirus Scan Results
https://virusscan.jotti.org/en-US/filescanjob/3m1euovbts,sxkwakgued,y7asa9bwkx,2c57qr2p4f,tk7yb1mk6t

v2023-11-04.1330-threaded

10 Nov 00:22
87bf498

Choose a tag to compare

hashgen - the blazingly fast hash generator

$ ./hashgen_amd64.bin -m 0 -w rockyou.txt -o /dev/null
2023/11/02 19:10:51 Starting...
2023/11/02 19:10:51 Processing file: rockyou.txt
2023/11/02 19:10:51 Hash function: 0
2023/11/02 19:10:51 CPU Threads: 16
2023/11/02 19:10:52 Finished hashing 15053568 lines in 0.500 sec (30.123 M lines/sec)

As of the this release, hashgen (go) has a 2,519% faster md5 hashrate vs the next fastest publicly available CPU based hash generator (see benchmarks).

Since version v2023-10-30.1600, hashgen has a top recorded hasharate of 30,228,048 md5/sec on the test rig's Ryzen 7 3700X CPU! Much faster hashrates have been seen on higher end CPU's.

Benchmarks

https://github.com/cyclone-github/hashgen-testing/tree/main/benchmarks

  • Test rig specs:
    • OS: Linux pve 6.2.16-14-pve (Debian 12.1)
    • CPU: AMD Ryzen 7 3700X 8-Core (16 Thread) Processor @ 3600MHz
    • RAM: 64gb DDR4
  • Benchmarks for all 17 supported modes:
Mode h/s
plaintext 50,178,560
base64encode 40,036,085
crc64 39,824,254
crc32 39,304,355
base64decode 37,823,035
crc32 (-m 11500) 37,077,754
md5 30,228,048
sha2-256 24,319,173
sha1 23,818,937
md4 18,935,306
ntlm 14,282,323
ripemd-160 13,823,295
sha2-512 12,410,196
sha3-256 7,332,473
sha3-224 7,206,112
sha3-384 6,256,678
sha3-512 6,069,987

Changelog since v2023-09-28.1730-hashplain

  • v2023-10-30.1600-threaded; rewrote code base for multi-threading support, some algos have not been implemented from previous version
  • v2023-11-03.2200-threaded; added hashcat -m 11500 (CRC32 w/padding), re-added CRC32 / CRC64, fixed stdin
  • v2023-11-04.1330-threaded; tweaked -m 11500, tweaked HEX error correction and added reporting when encountering HEX decoding errors
ab2ce4922d236d893a1b4428c092db9f1b8606a8e55762b28a54ed502f20d702  hashgen_amd64.bin
3a40a10583d98a241341232e7c5ebe2ef7f1b0387d729bc5d196a8e505aa6d59  hashgen_amd64-darwin
170d18419d6f3dd439bd9c72cedffe5eece7434704e8c89b3d1e1dec392336dc  hashgen_amd64.exe
cd91c295c3495067e3ca1a039edfbf31c30bd29a4c296e27cfdb3151dad115b2  hashgen_arm64.bin
b94e14c8ceed0751741d117528630584472aba0b182d147d66085a339e71748e  hashgen_armhf.bin

Jotti Antivirus Scan Results
https://virusscan.jotti.org/en-US/filescanjob/8t8i8gkejz,hw3v0b87iw,5ao4whz843,ai8fzth1vp,eroay8gxog

v2023-09-28.1730-hashplain

31 Oct 22:22
865751e

Choose a tag to compare

Changelog since v2023-08-16.1200-hashplain:

  • modify -hashplain flag to be encoding-agnostic
3fb6bdd51074d66657fb60e7830f09a848e6a6f149b42245bb5df85321be87be  hashgen_386.bin
d5c13dfdbb6dd211e3bd516966110313aec1d4d0dab4b9f679e8784c40a140fe  hashgen_386.exe
284be4f9d964c2b6d40d08a994820f0b05ba7d99db46eaf205181683f1409e10  hashgen_amd64.bin
c0f0aa1eec6f0387abd94fef747b83e4562542465c6a8309d9d950eb2138b989  hashgen_amd64-darwin
6d800525a3a086fd34d0ac0fbc6df6aab93d065304ea2fa3d82fd3f4114abb02  hashgen_amd64.exe
1c3854e65e31154cc76f52252e4afc4622ca04a697c80dad73729033bfab9e04  hashgen_arm64.bin
06be97b80469d1a120843d094b1cb56e5518a977f4145b6824d37829647bf0a2  hashgen_armhf.bin

Jotti Antivirus Scan Results:
https://virusscan.jotti.org/en-US/filescanjob/78jtjudhi6,suv7dupqkf,0e6r348euy,wa52qdvsl4,jz7dsmx7ym,ed3tpskwql,ztwctjbosx

v2023-08-16.1200-hashplain

28 Sep 15:47
3296e74

Choose a tag to compare

Features Added

  • hashgen can now generate hash:plain pairs by using the -hashplain flag
$ echo "password" | ./hashgen_amd64.bin -m 0 -hashplain
...
5f4dcc3b5aa765d61d8327deb882cf99:password
  • support for $HEX[] wordlist input
    • hashgen can also be used to dehex a wordlist by using -m plaintext
$ echo '$HEX[70617373776f72643a]' | ./hashgen -m plaintext
...
password:
  • bcrypt -cost flag, ex: -m bcrypt -cost 10
$ echo "password" | ./hashgen -m 3200 -cost 10
...
$2a$10$qwN.JrEnBddR9DI12Dw3peuQRbaKaX/BdpROFiHvCFVV.6An4Aq.m

Misc

  • added error correction to 'fix' improperly formatted $HEX[] lines
a8e9cdc87ba293fe60ff64b34a3e923e1dc724c74e076a8f831546da1708e74b  hashgen_386.bin
17315660a774a35c2b3fa14cb5283124af55fc915ac1d1f86c1705490e3cc542  hashgen_arm64.bin
3ae187dc69a42ae21e2b926bc223bd8b964555a70a257bde348504bd5e17d5bb  hashgen_armhf.bin
1fd68e83359fa0ff3e4c802b7e0315d40884657019586b7d9eb97af02639fdd1  hashgen.bin
a2b5440a53818dd78eae05b93e030be455d0a3a34ee74827273881f1530e7f79  hashgen-darwin
eeeb81f2f7345aeb44d6e60c64c72b383509fb7f9db6fddb6caed0ee4213cd4a  hashgen.exe

Jotti Antivirus Scan Results:
https://virusscan.jotti.org/en-US/filescanjob/xzrwfnq11i,pq7cwpcx27,ym2nd6uic2,ktdpc23crk,9vic9uq7nz,k3p1ly8d9t