๐ ๐ Emoji that checksum! ๐ ๐ฉ
I attempted a curated list of 256 emojis that are not entirely similar. Using http://www.webpagefx.com/tools/emoji-cheat-sheet/ to compare them. I went with 256 as that is 8bit/1byte, and the hexadecimal output that is 2 hex characters.
So 1 emoji is 2 hex positions.
Source lives ๐ https://github.com/vbatts/emojisum
go get github.com/vbatts/emojisum
emojisum main.go
SHA1(main.go)= 14b09535217ca8f5f47f4665e2266e686f0728b4
SHA1(main.go)= :bird::red_car::on::crystal_ball::calendar::lemon::pray::warning::violin::lollipop::facepunch::hearts::tm::children_crossing::hourglass::heavy_plus_sign::house::ant::clap::rocket:
SHA1(main.go)= ๐ฆ ๐ ๐ ๐ฎ ๐ ๐ ๐ โ ๏ธ๐ป ๐ญ ๐ โฅ๏ธโข๏ธ๐ธ โ๏ธโ ๐ ๐ ๐ ๐
And pretty markdown, like so!
SHA1(main.go)= ๐ฆ๐๐๐ฎ๐๐๐
Rather than relying on this simple tool to do the checksum itself, you will likely want to rely on OpenSSL or coreutils for checksumming.
emojisum
can just take those formats on stdin:
$> sha1sum main.go | emojisum -parse-coreutils
7656835947b4c6da272023c56b6f2529511bf88b main.go
:jp::gb::metal::goat::family::rocket::smiley_cat::swimmer::chocolate_bar::cactus::candy::smile::honeybee::house::cherries::cloud::fries::bow::wavy_dash::musical_score: main.go
๐ฏ๐ต ๐ฌ๐ง ๐ค ๐ ๐ช ๐ ๐บ ๐ ๐ซ ๐ต ๐ฌ ๐ ๐ ๐ ๐ โ๏ธ ๐ ใฐ๏ธ ๐ผ main.go
$> openssl sha1 main.go |emojisum -parse-openssl
SHA1(main.go)= 7656835947b4c6da272023c56b6f2529511bf88b
SHA1(main.go)= :jp::gb::metal::goat::family::rocket::smiley_cat::swimmer::chocolate_bar::cactus::candy::smile::honeybee::house::cherries::cloud::fries::bow::wavy_dash::musical_score:
SHA1(main.go)= ๐ฏ๐ต ๐ฌ๐ง ๐ค ๐ ๐ช ๐ ๐บ ๐ ๐ซ ๐ต ๐ฌ ๐ ๐ ๐ ๐ โ๏ธ ๐ ใฐ๏ธ ๐ผ