Package: hashmoji
Hashmoji is a simple Python 3 program and library for visualizing content hashes as emoji.AboutHashmoji is really just an executable joke.  It is not intended to be secure or meet the needs of Serious
Business.  But it’s fun alpha-quality stuff that you may enjoy.InstallationMake sure you havePython 3installed.  On Mac OS X you can install
Python 3 via homebrew:brew update
brew install python3Once you have Python 3 installed you can clone this repository and install it:git clone git@github.com:mcroydon/hashmoji.git
cd hashmoji
python3 setup.py installOr if you havePIP(recommended):pip3 install hashmojiYou may also want to consider installing Hashmoji in aVirtualenv.Command-line usageHashmoji ships as both an executable utility and as a Python module that you can use to visualize output fromhashlibor any bytes object divisible by 4 bytes.To use hashmoji similar to sha1sum:$ hashmoji.py README.rst
🐹 🌈 🆎 😊🔢To see all available options, please runhashmoji.py--help:mattbookpro:hashmoji mcroydon$ python3 hashmoji.py -h
Usage: hashmoji.py [options] FILE or no arguments for stdin

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -a ALGORITHM, --algorithm=ALGORITHM
                        Use ALGORITHM from hashlib.  Choices: ['SHA512',
                        'sha512', 'sha384', 'ecdsa-with-SHA1', 'SHA256',
                        'dsaEncryption', 'SHA384', 'MDC2', 'SHA224',
                        'RIPEMD160', 'dsaWithSHA', 'MD4', 'sha', 'MD5',
                        'sha224', 'md4', 'md5', 'sha1', 'sha256', 'mdc2',
                        'DSA-SHA', 'ripemd160', 'DSA', 'SHA1', 'SHA']
  -n, --no-hash         Treat the content as binary data divisible by 4 bytes
                        suitable for conversion to emoji

  Format Options:
    -t, --text          Read the file in text mode (default).
    -b, --binary        Read the file in binary mode.
    -x, --hex           Read the file as hexidecimal encoded binary data, such
                        as a hexdigest.  Implies --no-hash.
    -e ENCODING, --encoding=ENCODING
                        Encoding to be used for text.  (default is utf-8)You can use a specific hash algorithm based on the algorithms available to hashlib:$ hashmoji.py -a sha512 README.rst
👵 🚁 😮 🕞 🇩🇪 🔶 🌊 🚫 🎍 🔞 ✔ 🆚 🎁 🚜 🍢🎋New in 0.1.2, you can also omit aFILEand pipe stdin to hashmoji.  This is particularly useful when combined with hex format
for visualizing the output of programs that include a single line of hex-encoded data such asgitormd5-q:$ git rev-parse HEAD | hashmoji.py -x
♦ 🐢 👣 👸🀄Hashmoji has only been tested on Mac OS X 10.8 and 10.9 in Terminal.app.  It definitely doesn’t work inside a screen session.  Trust me.Library usageHashmoji is designed to work with either a bytes object or ahashlib digest:>>> from hashmoji import hashmoji

# Use with hashlib
>>> import hashlib
>>> hashmoji(hashlib.sha1(b"This is my test string."))
'📱 🔢 📩 🚦📲'

# Use with bytes as long as the bytes are divisible by 4 bytes
>>> mybytes = b'\x916\xb8|\x1b\xf7&\xaa\x92(;OQX\x95^w\x1c\xb2\xd6\xbe\xb9_\x8b\xcf\xdcO\xa3\x8f\xcf\xdbq\x89\xd0\nF\xce1\x81\xca\xdd\x15\xf4\xe1\x10\x807\x19\x1b\x0f\xe8\x86\x08\xf7O\x19\xf1\x16\xf3\x93\x97\xfa{\x81'
>>> len(mybytes)
64
>>> len(mybytes) % 4
0
>>> hashmoji(mybytes)
'🏆 💙 🌀 🍒 🕕 🐯 💃 🎡 ⚡ 🔙 🚐 ➗ 🐟 ➡ 👍🏭'TestingIf you havesetuptools:$ python3 setup.py testIf you havenose:$ nosetestsIf you have neither:$ python3 tests.pyTo DoBe smarter about not loading file contents in to memory sometimes.LicenseHashmoji is released under a 3-clause BSD license.