Skip to content

patrickmn/picugen

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
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

No packages published

Languages