Hashing Words in Cryptography

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram CDF Player or other Wolfram Language products.

Requires a Wolfram Notebook System

Edit on desktop, mobile and cloud with any Wolfram Language product.

A cryptographic hash code is a one-way function that converts data to a sequence of obfuscated characters with a standard size (the message digest). The term "one-way" means the function is irreversible, i.e., it is not feasible to transform the encrypted information back into the original data.


Some systems keeps users' passwords in a secure hash code format. If a weak method is used to store this data, it is vulnerable to hacker attacks. Moreover, users are a key part of the strength of security; using dictionary words and simple character combinations such as "123456" for passwords exposes a sophisticated security system to attack.

This Demonstration shows the results of the built-in Mathematica function Hash applied to a random sequence of dictionary words. Hash converts the words to integers, which are then rendered as sequences of colored boxes using the integer's representation in base 2, 10, or 16. You can see the list of words used by using the "words" tab. While the colored arrays appear to be random, with a brute force attack it is easy to find out passwords based on standard dictionary words and other weak combinations. On the other hand, some character combinations (like "Ux3yZ4tt" or "5txbvOa9") create strong passwords that make it very hard for deep search, even with fast hardware or a cluster of servers.


Contributed by: Daniel de Souza Carvalho (August 2012)
Open content licensed under CC BY-NC-SA




Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.