Autoblog de sebsauvage.net

Ce site n'est pas le site officiel de sebsauvage.net
C'est un blog automatisé qui réplique les articles de sebsauvage.net

Mise à jour

Mise à jour de la base de données, veuillez patienter...

VizHash GD, un hash visuel

mardi 31 mai 2011 à 16:52

J'avais parlé des hashs visuels l'année dernière, comme solution possible au tabjacking.


Qu'est-ce qu'un hash ? C'est une sorte d'empreinte digitale numérique. Typiquement, le hash MD5 du mot "bonjour" est f02368945726d5fc2a14eb576f7276c0.

Les hashs ont quelques propriétés intéressantes:

Ils sont utiles pour de nombreuses choses, par exemple pour vérifier qu'un fichier qu'on a téléchargé n'est pas endommagé. Ils sont également utilisés dans SSL/HTTPS, dans le chiffrement des emails (pgp/gnupg et autres), pour stocker et vérifier des mots de passe, pour vérifier si un fichier a été modifié sans avoir à en stocker une copie et bien d'autres choses.


Un hash visuel est très similaire: Il prend aussi en entrée des données, mais produit une image. Tout comme MD5 ou SHA1, l'image est unique et caractéristique des données en entrée. Le moindre bit différent en entrée produit une image totalement différente. Et il est impossible de retrouver les données en entrée à partir de l'image.

À quoi ça peut bien servir ? Par exemple comme avatar dans les forums ou les commentaires de blogs: Mettez en entrée le hash de l'adresse IP de vos visiteurs, et voilà un avatar instantané et unique pour chaque visiteur de votre site. Ou encore: Plutôt que d'avoir une MD5 à comparer à la main, avec le hash visuel un simple coup d’œil suffirait pour savoir si le fichier que vous avez téléchargé est endommagé ou non (pour peu qu'une extension soit développée pour votre explorateur de fichiers).

On peut bien sûr imaginer bien d'autres utilisations.


Je ne suis pas l'inventeur des hashs visuels, mais j'ai voulu en faire ma version en php: VizHash GD. Elle est opensource, légère et peut produire des hashs visuels qui peuvent être étirés tout en restant reconnaissables. Le code est libre (sous licence zlib/libpng). VizHash GD ne nécessite que php 4 ou 5 et GD (disponible chez la plupart des hébergeurs).

Pour être franc, le résultat n'est pas très beau, mais le but était surtout de produire des images faciles à différencier.

Vous trouverez des exemples et le code source sur le wiki. Vous pouvez faire mumuse à hasher différents textes dans cette page.

Source : http://sebsauvage.net/rhaa/index.php?2011/05/31/14/52/16-vizhash-gd-un-hash-visuel