Alek Ratzloff 43e99e15bb Add png generation back in (using the imagemagick convert tool), add png files to gitignore
This is so we aren't committing binary data to the git repository if
that data may get updated in the future because I decide to make changes
to algorithms, palettes, etc. It's still nice to get the png files
generated so they can stay.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2024-05-30 12:26:08 -07:00
2024-05-30 12:04:04 -07:00

colorhash

Hash of the previous commit hash

A tool for creating distinct art based on input data or hash.

Usage

  1. Clone the repository
  2. Run using python -m colorhash -h for usage.

No dependencies required, everything is vanilla Python >=3.10.

Example usage

Create art using the default "nibble" art algorithm, printing out to the terminal

python -m colorhash infile.dat

Create art using the OpenSSH "randomart" art algorithm, writing to an SVG file

python -m colorhash infile.dat -y svg -o out.svg -m randomart

Create art using an MD5 hash instead of the default SHA512

python -m colorhash infile.dat -y svg -o out.svg -a md5

Motivation

If you see the picture is different, the key is different.

If the picture looks the same, you still know nothing.

(From OpenSSH sshkey.c fingerprint_randomart() function)

Cryptographic hashes are often visually distinct, however, sometimes they are not. This can become vitally important in matters of security, when you are comparing two key hashes or verifying the checksum of a file from the internet. The goal of this project is to give more fuel for human pattern recognition so that two extremely similar hashes, maliciously crafted or not, have more visual depth to their distinction.

Examples

See the examples directory.

Description
Making art with cryptographic hashes
Readme 1.6 MiB
Languages
Python 59.7%
JavaScript 29.4%
HTML 8.1%
Shell 2.8%