-
Notifications
You must be signed in to change notification settings - Fork 3
A general-purpose hash/checksum generator
License
patrickmn/picugen
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Picugen is a cryptographic and non-cryptographic hash/checksum generator written in Go.
It can be used to easily obtain digests of strings and files using a large variety of
algorithms including MD5, SHA-1, and SHA-256.
Usage: picugen [-a <algorithm>] [-salt <salt>] [-s <string to hash>] / <file(s) to hash>
Examples:
picugen -a md5 document.txt Generate MD5 digest of a file
picugen -a md5 * Generate MD5 digests of all files in folder
picugen -a sha1 -s hello world Generate SHA-1 digest of a string
picugen -a sha1 -salt s4lt -s hello world Generate salted SHA-1 digest of a string
picugen -a hmacsha1 -k k3y -s untouched Generate HMAC of a string using SHA-1
Available algorithms (default is SHA-256):
adler32 Adler-32 checksum (RFC 1950)
crc32 32-bit cyclic redundancy check (CRC-32) checksum (defaults to IEEE polynomial)
crc32castagnoli CRC-32 using the Castagnoli polynomial (0x82f63b78)
crc32ieee CRC-32 using the IEEE polynomial (0xedb88320)
crc32koopman CRC-32 using the Koopman polynomial (0xeb31d82e)
crc64 64-bit cyclic redundancy check (CRC-64) checksum (defaults to ISO polynomial)
crc64ecma CRC-64 using the ECMA polynomial (0xC96C5795D7870F42)
crc64iso CRC-64 using the ISO polynomial (0xD800000000000000)
fnv FNV-1 non-cryptographic hash (defaults to fnv32)
fnv32 32-bit FNV-1
fnv32a 32-bit FNV-1a
fnv64 64-bit FNV-1
fnv64a 64-bit FNV-1a
hmac Keyed-Hash Message Authentication Code (HMAC) (requires -k <key>) (defaults to SHA-256)
hmacmd5 HMAC using MD5 (requires -k <key>)
hmacsha1 HMAC using SHA-1 (requires -k <key>)
hmacsha256 HMAC using SHA-256 (requires -k <key>)
hmacsha512 HMAC using SHA-512 (requires -k <key>)
md4 MD4 hash (RFC 1320)
md5 MD5 hash (RFC 1321)
ripemd160 RIPEMD-160 hash
sha1 SHA-1 hash (RFC 3174)
sha224 SHA-224 hash (FIPS 180-2)
sha256 SHA-256 hash (FIPS 180-2)
sha384 SHA-384 hash (FIPS 180-2)
sha512 SHA-512 hash (FIPS 180-2)
Note: For complex strings, put the string in a file, then run Picugen on
the file. (Don't add newlines to the file as they will alter the output.)
Sample output:
# picugen /bin/bash
664c1834f30f83c97f48b1f364b8368bb0c9949a8fedd29413bb16d70a6e41c6 /bin/bash
# picugen -salt s3cr3t -s p4ssw0rd
bcd4a8f23d02931039f0296ca6164f3942b1629b12001bc8e6ffec4df8884848
# picugen -a md5 /etc/*.conf
2081f795b0f92490c1c3f00b964e36de /etc/adduser.conf
7f4c49e01e0a23d2f4b20eeb32e95abb /etc/blkid.conf
9c7fa15fd6d8f34a0267101f051f107b /etc/ca-certificates.conf
8c0619be413824f1fc7698cee0f23811 /etc/debconf.conf
527e6a57d0bc9f7c1b1aca2071f3da00 /etc/deluser.conf
7e84402ab9129df85117336840b3d78f /etc/ffserver.conf
629c0e2f8276b26c29b95f7ed53074d7 /etc/gai.conf
ca3e32b09c7bfda7e7e3580a587e3c2b /etc/hdparm.conf
89408008f2585c957c031716600d5a80 /etc/host.conf
4cdcca89f13642d97f1044c647d19e2e /etc/insserv.conf
f41f22e0d7f16d43f59f682c78224348 /etc/kernel-img.conf
6fb908bd3381b55ee942b261a701aea4 /etc/kerneloops.conf
4317c6de8564b68d628c21efa96b37e4 /etc/ld.so.conf
...
# picugen -a hmacsha1 -k 0r4cl3 -s this message is verifiable with the key
15dabc3b4c2cc60c216970a0723f24a3ffc4d4ca
About
A general-purpose hash/checksum generator
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published