Skip to main content

A module that converts hexadecimal digits into strings of words, and back

Project description

It accepts any string of hexadecimal characters and returns a string of words that uniquely maps to that hash. This is a 1:1 mapping- each hash has one unique wordstring, and each wordstring maps exactly to the hash. The purpose is to create a more human-friendly string from the hash.

::
>>> from hashed import dehash, enhash
>>> dehash("21046fd2f17ac0f30c88190393568045256866f2")
'cassareep irascibly upbrought scorched atheized bourtrees oloroso manful chobdar hornbook'
>>> enhash('disbowel obi magnetises famous oblivious divulgence thickened welders foiningly votresses')
'3bc491b57f3a4d1a91da3daae16dfa0052aff75f'

As a note, that module has broader uses, like making more readable representations of IPv6 addresses. It’s currently weak on error handling, and will explode if you throw input at it that doesn’t fit the wordlist.

The Wordlist is a space-padded file, with a word every 15 characters (or every 30 bytes). It was designed this way for fast access. There is also a JSON encoded index to support the reverse lookup.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hashedwords-1.0.1.tar.gz (288.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page