Identicon

From Wikipedia, the free encyclopedia

Jump to: navigation, search
An arbitrary Identicon

An Identicon is a visual representation of a hash value, usually of the IP address, serving to identify a user of a computer system. The original Identicon is a 9-block graphic, which has been extended to other graphic forms by third parties some of whom have used MD5 instead of the IP address as the identifier. In summary, an Identicon is a privacy protecting derivative of each user's IP address built into a 9-block image and displayed next the user's name. A visual representation is thought to be easier to compare than one which uses only numbers and more importantly, it maintains the person's privacy. The Identicon graphic is unique since it's based on the users IP, but it is not possible to recover the IP by looking at the Identicon.

Contents

[edit] Invention

Don Park came up with the Identicon idea on January 18, 2007. Don says, "I originally came up with this idea to be used as an easy means of visually distinguishing multiple units of information, anything that can be reduced to bits. It's not just IPs but also people, places, and things. IMHO, too much of the web what we read are textual or numeric information which are not easy to distinguish at a glance when they are jumbled up together. So I think adding visual identifiers will make the user experience much more enjoyable."[citation needed]

[edit] Releases

The original Identicon source package 0.1 was server-side Java. Version 0.2 was cleaned up, added some documentation, fixed a color bug, added a cache, and a runtime jar. Version 0.3 included client-side Canvas tags. The current version is 0.5.

[edit] Applications

  • One use is embedding them in wiki pages and blog comments to identify authors. The thought includes protecting an author from someone else using his name to comment. It would be obvious because the IP addresses would generate different Identicons.
  • Identicons are used to identify eBay sellers.[1]
  • The original Identicon idea has been expanded to include a couple of new, simple yet very effective, anti-phishing protection schemes. One of them requires client-side support; Park is interested in talking to browser vendors regarding its incorporation. He calls this expansion "Gemini."[2]

[edit] Implementations

People have created code based on Don's original idea and at the same time have shifted the purpose. Several of the contributions below are more interested in creating fun icons than in some of the security issues Don first envisioned. It is also interesting to see how an idea posted on a blog grew in just a matter of a few days. Over 500 people commented on Don's first post often just to see what their Identicon would look like.

  • ASP.NET HTTP Handler: Jeff Atwood wrote Jon Galloway about Identicons on the evening of January 20, 2007. Jon Galloway ported the Identicon from a Java servlet to an ASP.NET HTTP Handler and got it to compile. Jeff Atwood then spent his Sunday debugging a tricky GDI conversion issue (plus cleaning up the code and adding cache optimizations). Phil Haack repackaged Jon's and Jeff's code as compiled DLL and a handler file for those of us who prefer Web Application projects. This distribution will work for both Web Application Projects as well as Website Projects.
  • VisiGlyphs: On January 21, 2007, Charles Darke released a php version he calls VisiGlyphs. He has released the source code into the public domain. Updated php versions including a VisiGlyph class (under an ISC licence) have also been released on his site.
  • MonsterID: email address generates unique graphic character for each user. Also on January 21, 2007, Andreas "Andy" Gohr from Berlin, Germany released MonsterID after reading Don Park's original discussion of Identicons. As a user of the Gravatar service, Andy wanted to have an image for the commenters who did not sign up with Gravatar. Andy communicated with Don who suggested several image generators. Andy used Jared Tarbell's image generator, called Combinatoric Critters (Levitated.net;September 2002). Next Andy created the image parts in GIMP (multiple versions of arms, legs, hair, body, eyes, mouth that could be combined). He then used the PHP's image support using the GD Graphics Library to merge the image into a "Monster." To use MonsterID as an identification (eg. the same commenter always gets the same monster assigned) Andy used a simple trick: he choose body parts with the rand function, but initialized the random generator with a value dependent on a provided identification. He used the same email MD5 sum that is used to get the user’s Gravatar. On February 6, Andy released his work on MonsterID under the Creative Commons Attribution 2.5 License. Note that each time you reload the page a different monster is generated.
  • WordPress plugin for MonsterID: And again on January 21, 2007, Scott Sherrill-Mix created "a quick and dirty Wordpress plugin to incorporate MonsterIDs easily into other blogs."
  • Monster ID Service with added templates: And it seems that January 21 was an active day as FriedCellCollective began offering a MonsterID service on that day based on the work of Andy Gohr. On January 25, additional templates for the monster were added contributed by Bohwaz.
  • .NET class creates bitmaps from integer input values: On January 23, 2007, Daniel Schick implemented a .NET class that creates bitmaps from an integer input value, very much like Don described it. The method takes an integer and a size value and returns an Image.Bitmap which can be saved or used within the application. Daniel admits that his motivation for the recreation was that he does not really like Java. The class can be downloaded from his blog page.
  • Community Server Add-on for Identicons: On January 23, 2007, Sean Kearney "whipped up a little Community Server Add-on that can display an Identicon."
  • Identicon in Python: On February 3, 2007, (dda or dbvic) made available "a functioning Identicon lib in Python." The author's website appears to now be offline.
  • Identifrac returns fractal icons: By February 3, 2007, Jesse Dubay picked up the idea and created Identifrac using fractals from the Julia set. Information on his source code has been released and if you scroll down to the bottom of this page, you will see your Identifrac.
  • WordPress plugin for Identicons: On February 6, 2007, Scott Sherrill-Mix released a Word Press plugin to add Identicons to comments.
  • Perl module: Image::Identicon. YAMASHINA Hio, February, 2007. GPL/Artistic License.
  • IdentFavIcon is a Firefox add-on that creates unique favicons for websites, which don't explicitly set one, by using an identicon generated from the server name as the favicon; available here.

[edit] References

[edit] External links

Personal tools
Languages