Florash

The Florash is a beautiful and visually distinguishable representation of a 40 character hexadecimal string of text (AKA: a hash, a 160bit hexadecimal string).

It's purpose is to help humans be less error-prone when comparing very similar hashes. It benefits from Johan Gielis' superformula to achieve a flower-like allure.

The one you see above, represents a sha1 hash () of the ip address () detected for your browser.

Visual Hash Representation

The first visual hash representation method I've known of is the "randomart" image generated by openSSH, which is well explained on Aaron Toponce's Website. It looks like this:

+--[ RSA 2048]----+
|       o=.       |
|    o  o++E      |
|   + . Ooo.      |
|    + O B..      |
|     = *S.       |
|      o          |
|                 |
|                 |
|                 |
+-----------------+
            

This set me on the path to discovery, where I found a few white papers (Ehibit A (pdf), Exhibit B (pdf)), a chrome extension ( Visual Hashing) and a few popular implementations of other visual hash representation techniques (Identicons Gravatar Blog).

The Identicon equivalent of your IP's Florash looks like this:

Compared to this:

I'm not making any comparison on the technical quality of implementation at this point, but you have to admit that the Florash is much more pleasing to look at.

Mine is prettier than yours!

I'm not very good at math, so I had to play around a lot (and read) and I probably can't explain my code in a very academic manner.

Nonetheless, I am very proud of the result which I have achieved using my overall experience, knoweldge, but mainly by using my creative and artistic abilities.

Boasting Considerations

I considered a case where a bunch of hashes are only one character different:

I considered a case where you would have sequential hashes to distinguish from:

I considered extremes and repetition to not be boring:

A few randomly generated hashes for good measure:

Of course, the simplicity of the Identicon (as you can notice) also has it's advantages. This is not a competition, it's about having more choice ;)

Demo mode: Interactive

Get it! Use it! Take it appart and put it back together!

Fork me on GitHub