{"id":13531188,"url":"https://github.com/cyclone-github/hashgen","last_synced_at":"2026-01-23T19:10:50.026Z","repository":{"id":64886382,"uuid":"578844039","full_name":"cyclone-github/hashgen","owner":"cyclone-github","description":"hashgen - the blazingly fast hash generator","archived":false,"fork":false,"pushed_at":"2025-12-16T16:07:42.000Z","size":476,"stargazers_count":39,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-20T07:11:11.109Z","etag":null,"topics":["argon","base58","base64","bcrypt","blake2","cyclone","generator","hash","hashcat","hashgen","keccak","md5","mdxfind","mosecode","multithreaded","ntlm","sha","sha1","sha3","yescrypt"],"latest_commit_sha":null,"homepage":"https://forum.hashpwn.net/post/89","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyclone-github.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-12-16T02:27:27.000Z","updated_at":"2025-12-16T16:07:46.000Z","dependencies_parsed_at":"2023-11-29T19:45:53.766Z","dependency_job_id":"8491c9be-c8e4-4123-838a-d7ab636acfa1","html_url":"https://github.com/cyclone-github/hashgen","commit_stats":{"total_commits":43,"total_committers":1,"mean_commits":43.0,"dds":0.0,"last_synced_commit":"7e9eca2f42c4d90acb454815b614802a11659cdb"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/cyclone-github/hashgen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclone-github%2Fhashgen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclone-github%2Fhashgen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclone-github%2Fhashgen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclone-github%2Fhashgen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyclone-github","download_url":"https://codeload.github.com/cyclone-github/hashgen/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclone-github%2Fhashgen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28698412,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T17:25:48.045Z","status":"ssl_error","status_checked_at":"2026-01-23T17:25:47.153Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argon","base58","base64","bcrypt","blake2","cyclone","generator","hash","hashcat","hashgen","keccak","md5","mdxfind","mosecode","multithreaded","ntlm","sha","sha1","sha3","yescrypt"],"created_at":"2024-08-01T07:01:00.780Z","updated_at":"2026-01-23T19:10:50.015Z","avatar_url":"https://github.com/cyclone-github.png","language":"Go","readme":"[![Readme Card](https://github-readme-stats-fast.vercel.app/api/pin/?username=cyclone-github\u0026repo=hashgen\u0026theme=gruvbox)](https://github.com/cyclone-github/hashgen/)\n\n\u003c!-- [![Go Report Card](https://goreportcard.com/badge/github.com/cyclone-github/hashgen)](https://goreportcard.com/report/github.com/cyclone-github/hashgen) --\u003e\n[![GitHub issues](https://img.shields.io/github/issues/cyclone-github/hashgen.svg)](https://github.com/cyclone-github/hashgen/issues)\n[![License](https://img.shields.io/github/license/cyclone-github/hashgen.svg)](LICENSE)\n[![GitHub release](https://img.shields.io/github/release/cyclone-github/hashgen.svg)](https://github.com/cyclone-github/hashgen/releases)\n[![Go Reference](https://pkg.go.dev/badge/github.com/cyclone-github/hashgen.svg)](https://pkg.go.dev/github.com/cyclone-github/hashgen)\n\n# hashgen - Cyclone's hash generator\n```\n$ hashgen -m md5 -w rockyou.txt -b\n2026/01/23 11:44:20 Starting...\n2026/01/23 11:44:20 Processing file: rockyou.txt\n2026/01/23 11:44:20 Hash function: md5\n2026/01/23 11:44:20 CPU Threads: 16\n2026/01/23 11:44:20 Finished processing 14344391 lines in 0.460 sec (31.215 M lines/sec)\n```\n**As of the this writing, 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.\n\nHashgen is a CLI hash generator written in Go and can be cross compiled for Linux, Raspberry Pi, Windows \u0026 Mac, although testing and compiling is mainly done on debian 12 linux.\n\nTo use hashgen, type your mode, wordlist input \u0026 hash output files with a simple command line.\n\n### Features:\n- Maintains original input order [PR 10](https://github.com/cyclone-github/hashgen/pull/10)\n- Supports 60+ modes/functions (see list below)\n- Encode / decode base64 \u0026 base58\n- Hex / dehex wordlists\n- Supports ASCII, UTF-8 and $HEX[] input\n- Supports UTF-8 (default) or $HEX[] output\n- Supports multiple salted modes such as -m 110 / -m 120\n\n| Useage Examples | Command Line |\n|-----------|-----------|\n| read wordlist.txt, hash to md5 and write to output.txt | ./hashgen -m md5 -w wordlist.txt -o output.txt |\n| pipe wordlist into hashgen and write to stdout | cat wordlist.txt \\| ./hashgen -m md5 |\n| decode $HEX[] wordlist to plaintext | ./hashgen -m plaintext -w hex_wordlist.txt |\n| convert wordlist to $HEX[] | ./hashgen -m hex -w wordlist.txt |\n| output hash:plain | ./hashgen -m md5 -w wordlist.txt -hashplain |\n| benchmark md5 | ./hashgen -m md5 -w wordlist.txt -b |\n\n### Supported Options:\n| Flag: | Description: |\n|-----------|-----------|\n| -m  | {mode} | \n| -w  | {wordlist input} |\n| -t  | {cpu threads} |\n| -o  | {wordlist output} |\n| -b  | {benchmark mode} |\n| -cost  | {bcrypt} |\n| -hashplain  | {generates hash:plain pairs} |\n| -help  | {help menu} |\n| -version  | {version info} |\n\n### Supported Functions:\n| Function:       | Hashcat Mode: |\n|-----------------|----------------|\n| **`Plaintext \u0026 Encoding`** | |\n| plaintext / dehex | 99999 (decode $HEX[]) |\n| hex | (encode to $HEX[]) |\n| base64encode | |\n| base64decode | |\n| base58encode | |\n| base58decode | |\n| base32encode | |\n| base32decode | |\n| morsecode | (ITU-R M.1677-1) |\n| morsedecode | |\n| | |\n| **`Checksums`** | |\n| crc32 | |\n| 11500 | (hashcat compatible CRC32) |\n| crc64 | |\n| | |\n| **`MDx`** | |\n| md4 | 900 |\n| md5 | 0 |\n| halfmd5 | 5100 |\n| md5passsalt | 10 |\n| md5saltpass | 20 |\n| md5md5 | 2600 |\n| | |\n| **`SHA1`** | |\n| sha1 | 100 |\n| sha1passsalt | 110 |\n| sha1saltpass | 120 |\n| sha1sha1 | 4500 |\n| | |\n| **`SHA2`** | |\n| sha224 | 1300 |\n| sha224passsalt | 1310 |\n| sha224saltpass | 1320 |\n| sha256 | 1400 |\n| sha256passsalt | 1410 |\n| sha256saltpass | 1420 |\n| sha384 | 10800 |\n| sha384passsalt | 10810 |\n| sha384saltpass | 10820 |\n| sha512 | 1700 |\n| sha512passsalt | 1710 |\n| sha512saltpass | 1720 |\n| sha512-224 | |\n| sha512-256 | |\n| | |\n| **`SHA3`** | |\n| sha3-224 | 17300 |\n| sha3-256 | 17400 |\n| sha3-384 | 17500 |\n| sha3-512 | 17600 |\n| | |\n| **`Keccak`** | |\n| keccak-224 | 17700 |\n| keccak-256 | 17800 |\n| keccak-384 | 17900 |\n| keccak-512 | 18000 |\n| | |\n| **`BLAKE2`** | |\n| blake2b-256 | |\n| blake2b-384 | |\n| blake2b-512 | |\n| 600 | (hashcat compatible blake2b-512) |\n| blake2s-256 | |\n| 31000 | (hashcat compatible blake2s-256) |\n| | |\n| **`Other Hashes`** | |\n| ripemd-160 | 6000 |\n| mysql5 | 300 |\n| ntlm | 1000 |\n| | |\n| **`Crypt / KDF`** | |\n| argon2id | 34000 |\n| bcrypt | 3200 |\n| wpbcrypt | (WordPress HMAC-SHA384 + bcrypt) |\n| md5crypt | 500 (`Linux shadow $1$`) |\n| sha256crypt | 7400 (`Linux shadow $5$`) |\n| sha512crypt | 1800 (`Linux shadow $6$`) |\n| phpass | 400 (`PHP/WordPress $P$/phpBB3 $H$`) |\n| yescrypt | (`Linux shadow $y$`) |\n\n### Benchmarks:\n- https://github.com/cyclone-github/hashgen-testing/tree/main/benchmarks\n- In addition to hashgen (go), I have also written hashgen in python, php, C, and Rust, although Rust and C need a lot of work to unlock their full performance potential. If you speak C or Rust, I'd be curious to see how fast you can push hashgen!\n  - https://github.com/cyclone-github/hashgen-testing\n\n### Install latest release:\n```\ngo install github.com/cyclone-github/hashgen@latest\n```\n### Install from latest source code (bleeding edge):\n```\ngo install github.com/cyclone-github/hashgen@main\n```\n\n### Compile from source:\n- This assumes you have Go and Git installed\n  - `git clone https://github.com/cyclone-github/hashgen.git`  # clone repo\n  - `cd hashgen`                                               # enter project directory\n  - `go mod init hashgen`                                      # initialize Go module (skips if go.mod exists)\n  - `go mod tidy`                                              # download dependencies\n  - `go build -ldflags=\"-s -w\" .`                              # compile binary in current directory\n  - `go install -ldflags=\"-s -w\" .`                            # compile binary and install to $GOPATH\n- Compile from source code how-to:\n  - https://github.com/cyclone-github/scripts/blob/main/intro_to_go.txt\n\n### Changelog:\n- https://github.com/cyclone-github/hashgen/blob/main/CHANGELOG.md\n \n### Mentions:\n- Go Package Documentation: https://pkg.go.dev/github.com/cyclone-github/hashgen\n- hashcat wiki: https://hashcat.net/wiki/\n- hashkiller forum: https://forum.hashkiller.io/index.php?threads/cyclone-hashgen.63140/\n- hashpwn forum: https://forum.hashpwn.net/post/89\n- MajorGeeks: https://www.majorgeeks.com/files/details/hashgen.html\n- Softpedia: https://www.softpedia.com/get/System/File-Management/hashgen-go.shtml\n\n### Antivirus False Positives:\n- Several antivirus programs on VirusTotal incorrectly detect hashgen as a false positive. This issue primarily affects the Windows executable binary, but is not limited to it. If this concerns you, I recommend carefully reviewing hashgen's source code, then proceed to compile the binary yourself.\n- Uploading your compiled hashgen binaries to https://virustotal.com and leaving an upvote or a comment would be helpful.\n\n### Thoughts:\n- Why write hashgen? hashgen is nothing new (to me) as this project started several years ago while needing a way to quickly convert wordlists to md5 or sha1 on linux terminal. Several versions of hashgen have been written over the years in several languages: python, php, Go, C and Rust. While the actively maintained version is hashgen (go), which offers enhanced features and superior performance, the \"hashgen-testing\" repository linked below contains testing versions of hashgen in different programming languages:\n  - https://github.com/cyclone-github/hashgen-testing\n- Why write hashgen in Go instead of xyz language? I did this to push my Go coding skills while also seeing how fast I could push Go. During early testing, I was not expecting hashgen to be all that fast, but I have been pleasantly surprised!\n- When I realized hashgen (go) was competitively fast compared to other publicly available hash generators, I decided to publish hashgen's code and binaries for others to use. I've really enjoyed this project and I hope you find it useful.\n- If you found hashgen to be helpful, please consider giving this repository a star!\n","funding_links":[],"categories":["Misc"],"sub_categories":["Web interfaces"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclone-github%2Fhashgen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyclone-github%2Fhashgen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclone-github%2Fhashgen/lists"}