<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commentaires sur : PHP : Comparaison MD5 / SHA-1</title>
	<atom:link href="http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/</link>
	<description>ma vision du Web 2.0 et du webmastering, par Loïc Morvan</description>
	<lastBuildDate>Tue, 28 Jun 2011 16:28:31 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
	<item>
		<title>Par : decima</title>
		<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/comment-page-1/#comment-6404</link>
		<dc:creator>decima</dc:creator>
		<pubDate>Sat, 30 Apr 2011 08:40:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.loicmorvan.fr/?p=1117#comment-6404</guid>
		<description>Le soucis avec le MD5 c&#039;est qu&#039;il existe des rainbow table (http://fr.wikipedia.org/wiki/Table_arc-en-ciel) qui permet d&#039;obtenir de manière SIMPLE les mots de passe sha1 et md5 donc plutôt opter pour un sha256 ou sha512 couplé avec un md5 pourquoi pas.</description>
		<content:encoded><![CDATA[<p>Le soucis avec le MD5 c&#8217;est qu&#8217;il existe des rainbow table (<a href="http://fr.wikipedia.org/wiki/Table_arc-en-ciel" rel="nofollow">http://fr.wikipedia.org/wiki/Table_arc-en-ciel</a>) qui permet d&#8217;obtenir de manière SIMPLE les mots de passe sha1 et md5 donc plutôt opter pour un sha256 ou sha512 couplé avec un md5 pourquoi pas.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Syslog</title>
		<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/comment-page-1/#comment-6350</link>
		<dc:creator>Syslog</dc:creator>
		<pubDate>Mon, 30 Aug 2010 16:21:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.loicmorvan.fr/?p=1117#comment-6350</guid>
		<description>alors :
SiM07, Nicolas Silberman, Ludovic  x2

MD5 et SHA ne servent pas seulement a crypter des mots de passe
Ils sont aussi souvent utilisés pour vérifier que les data non pas été altérées

par exemple quand vous téléchargez votre &quot;Ubuntu&quot; on vous fournit un condensat MD5 avec, ce qui vous permet de vérifier l&#039;authenticité du quetru ;)

et aussi il faut savoir que ni MD5 ni SHA sont 100% fiables

je vous invite à lire Wikipedia a ce sujet ;)
extrait
&quot;en février 2005, les universitaires chinois Xiaoyun Wang, Yiqun Lisa Yin et Hongbo Yu seraient parvenus à des collisions SHA-1 etc...&quot;

il ne faut pas utiliser les mots : toujours ou jamais dans ce domaine. parlons plutot de probabilité et d&#039;improbabilité

le monde n&#039;est pas binaire, mais plein de nuances, les choses ne sont pas bonnes OU mauvaises,
ne pensez pas comme ca les gars
bref... là je m&#039;égare la ;)


un autre exemple de ce que je veux vous faire comprendre :
meme si je &quot;cryptais&quot; mon pass avec CRC ou Adler combien de personnes seraient capables de le déchiffrer ?
et parmi elles, combien en aurait la motivation ?

SHA a été créé pour la NSA dans le but de protéger les codes de lancement d&#039;arme nucléaire par exemple
mais nous... a par Kevin 15 ans qui se prend pour un Hacker depuis qu&#039;il télécharge sur Emule, qui va nous attaquer ? et on risque quoi ?

et aussi , ne pas tout mélanger : car oui, peu importe l&#039;épaisseur du blindage du coffre fort, si son proprio laisse la clef sou le paillasson ;)

en resumé je trouve ton poste très pertinent Loïc Morvan et beaucoup moins ceux que j&#039;ai cité au début
(bien-sur ce n&#039;est que mon humble avis les gars ! ;)

et pour finir j&#039;invite tous ceux qui m&#039;ont compris et qui cherche la meme chose que Loic Morvan
à se documenter sur &quot;Tiger (hash)&quot; 
&quot;Tiger a été conçu et optimisé pour les systèmes 64 bits, il est surtout 3 fois plus rapide que le SHA-1 sur de tels processeurs. De plus, il est plus rapide que ses concurrents sur les machines 16 ou 32 bits.&quot;</description>
		<content:encoded><![CDATA[<p>alors :<br />
SiM07, Nicolas Silberman, Ludovic  x2</p>
<p>MD5 et SHA ne servent pas seulement a crypter des mots de passe<br />
Ils sont aussi souvent utilisés pour vérifier que les data non pas été altérées</p>
<p>par exemple quand vous téléchargez votre &laquo;&nbsp;Ubuntu&nbsp;&raquo; on vous fournit un condensat MD5 avec, ce qui vous permet de vérifier l&#8217;authenticité du quetru <img src='http://www.loicmorvan.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>et aussi il faut savoir que ni MD5 ni SHA sont 100% fiables</p>
<p>je vous invite à lire Wikipedia a ce sujet <img src='http://www.loicmorvan.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
extrait<br />
&laquo;&nbsp;en février 2005, les universitaires chinois Xiaoyun Wang, Yiqun Lisa Yin et Hongbo Yu seraient parvenus à des collisions SHA-1 etc&#8230;&nbsp;&raquo;</p>
<p>il ne faut pas utiliser les mots : toujours ou jamais dans ce domaine. parlons plutot de probabilité et d&#8217;improbabilité</p>
<p>le monde n&#8217;est pas binaire, mais plein de nuances, les choses ne sont pas bonnes OU mauvaises,<br />
ne pensez pas comme ca les gars<br />
bref&#8230; là je m&#8217;égare la <img src='http://www.loicmorvan.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>un autre exemple de ce que je veux vous faire comprendre :<br />
meme si je &laquo;&nbsp;cryptais&nbsp;&raquo; mon pass avec CRC ou Adler combien de personnes seraient capables de le déchiffrer ?<br />
et parmi elles, combien en aurait la motivation ?</p>
<p>SHA a été créé pour la NSA dans le but de protéger les codes de lancement d&#8217;arme nucléaire par exemple<br />
mais nous&#8230; a par Kevin 15 ans qui se prend pour un Hacker depuis qu&#8217;il télécharge sur Emule, qui va nous attaquer ? et on risque quoi ?</p>
<p>et aussi , ne pas tout mélanger : car oui, peu importe l&#8217;épaisseur du blindage du coffre fort, si son proprio laisse la clef sou le paillasson <img src='http://www.loicmorvan.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>en resumé je trouve ton poste très pertinent Loïc Morvan et beaucoup moins ceux que j&#8217;ai cité au début<br />
(bien-sur ce n&#8217;est que mon humble avis les gars ! <img src='http://www.loicmorvan.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>et pour finir j&#8217;invite tous ceux qui m&#8217;ont compris et qui cherche la meme chose que Loic Morvan<br />
à se documenter sur &laquo;&nbsp;Tiger (hash)&nbsp;&raquo;<br />
&laquo;&nbsp;Tiger a été conçu et optimisé pour les systèmes 64 bits, il est surtout 3 fois plus rapide que le SHA-1 sur de tels processeurs. De plus, il est plus rapide que ses concurrents sur les machines 16 ou 32 bits.&nbsp;&raquo;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Léo</title>
		<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/comment-page-1/#comment-6342</link>
		<dc:creator>Léo</dc:creator>
		<pubDate>Mon, 02 Aug 2010 21:13:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.loicmorvan.fr/?p=1117#comment-6342</guid>
		<description>Composer les fonctions de hashage (e.g. faire sha1(md5(chaine))…) est complètement inutile car cela multiplie les risques de collisions (vous cumulez les vulnérabilités de md5 et de sha1...)

Hé oui, supposons que les chaines A et B provoquent une collision, c’est a dire md5(A) = md5(B) = H

sha1(md5(A)) = sha1(H) = H2
sha1(md5(B)) = sha1(H) = H2
Le cumul de fonctions n’a pas du tout évité la collision. Au contraire, vous prenez le risque de collisions supplémentaires dues à sha1.

En crypto comme partout, les choses les plus simples sont souvent les plus efficaces, et les gros algos sacs de noeud vous explosent à la figure ^^

L’utilisation d’un grain de sel est par contre obligatoire. Avec quelque chose d’aussi simple que sha1(chaine+salt), vous êtes plutôt tranquilles, même si le salt est connu de tous.

PS : Mon commentaire précédent est à modérer, j&#039;me&#039;suis gouré ^^</description>
		<content:encoded><![CDATA[<p>Composer les fonctions de hashage (e.g. faire sha1(md5(chaine))…) est complètement inutile car cela multiplie les risques de collisions (vous cumulez les vulnérabilités de md5 et de sha1&#8230;)</p>
<p>Hé oui, supposons que les chaines A et B provoquent une collision, c’est a dire md5(A) = md5(B) = H</p>
<p>sha1(md5(A)) = sha1(H) = H2<br />
sha1(md5(B)) = sha1(H) = H2<br />
Le cumul de fonctions n’a pas du tout évité la collision. Au contraire, vous prenez le risque de collisions supplémentaires dues à sha1.</p>
<p>En crypto comme partout, les choses les plus simples sont souvent les plus efficaces, et les gros algos sacs de noeud vous explosent à la figure ^^</p>
<p>L’utilisation d’un grain de sel est par contre obligatoire. Avec quelque chose d’aussi simple que sha1(chaine+salt), vous êtes plutôt tranquilles, même si le salt est connu de tous.</p>
<p>PS : Mon commentaire précédent est à modérer, j&#8217;me&#8217;suis gouré ^^</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : niahOo</title>
		<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/comment-page-1/#comment-6323</link>
		<dc:creator>niahOo</dc:creator>
		<pubDate>Thu, 08 Jul 2010 22:16:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.loicmorvan.fr/?p=1117#comment-6323</guid>
		<description>Merci pour ces infos. Pour des mots de passe, il faut empêcher de le trouver par force brute, en empêchant de dépasser un certain nombre de requêtes par minutes.

Et si quelqu&#039;un dispose du hash, ça veut dire qu&#039;il est arrivé à lire dans ta base, la question de trouver le mot de passe pour lui ne se pose plus trop du coup :)

Pour info, j&#039;ai fais les tests sur un fichier de 6,63 Mo:
Nombre de tests  chaque fois : 1000000
3.5786759853363: hash/md5
2.8147709369659: md5
4.0049850940704: hash/sha1
3.1300539970398: sha1
6.6954469680786: hash/sha256
19.531332969666: hash/sha512

J&#039;ai fais aussi le test (sur windows vista) sur une chaine beaucoup plus longue que celle donnée dans l&#039;exemple, mais à quelques microsecondes près ça ne changeait rien par rapport à l&#039;exemple donné.</description>
		<content:encoded><![CDATA[<p>Merci pour ces infos. Pour des mots de passe, il faut empêcher de le trouver par force brute, en empêchant de dépasser un certain nombre de requêtes par minutes.</p>
<p>Et si quelqu&#8217;un dispose du hash, ça veut dire qu&#8217;il est arrivé à lire dans ta base, la question de trouver le mot de passe pour lui ne se pose plus trop du coup <img src='http://www.loicmorvan.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Pour info, j&#8217;ai fais les tests sur un fichier de 6,63 Mo:<br />
Nombre de tests  chaque fois : 1000000<br />
3.5786759853363: hash/md5<br />
2.8147709369659: md5<br />
4.0049850940704: hash/sha1<br />
3.1300539970398: sha1<br />
6.6954469680786: hash/sha256<br />
19.531332969666: hash/sha512</p>
<p>J&#8217;ai fais aussi le test (sur windows vista) sur une chaine beaucoup plus longue que celle donnée dans l&#8217;exemple, mais à quelques microsecondes près ça ne changeait rien par rapport à l&#8217;exemple donné.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Ludovic</title>
		<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/comment-page-1/#comment-6058</link>
		<dc:creator>Ludovic</dc:creator>
		<pubDate>Wed, 17 Feb 2010 14:03:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.loicmorvan.fr/?p=1117#comment-6058</guid>
		<description>Je comprends mieux, mais lorsque l&#039;on fait un comparatif il est plus simple de le mettre dans son contexte pour que l&#039;on puisse comprendre.

Généralement md5 ou sha1 sont des algorithmes de hachage pour mot de passe... :-)

Ludovic</description>
		<content:encoded><![CDATA[<p>Je comprends mieux, mais lorsque l&#8217;on fait un comparatif il est plus simple de le mettre dans son contexte pour que l&#8217;on puisse comprendre.</p>
<p>Généralement md5 ou sha1 sont des algorithmes de hachage pour mot de passe&#8230; <img src='http://www.loicmorvan.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ludovic</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Loïc</title>
		<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/comment-page-1/#comment-6057</link>
		<dc:creator>Loïc</dc:creator>
		<pubDate>Wed, 17 Feb 2010 13:37:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.loicmorvan.fr/?p=1117#comment-6057</guid>
		<description>Merci pour vos commentaires.

J&#039;ai en effet omis de mentionner l&#039;intérêt du fameux grain de sel comme le mentionne Ludovic qui permet d&#039;encrypter de façon plus forte une chaine de caractères. 

En fait, à l&#039;écriture de cet article, ma comparaison sur les performances pures, car je travaille pour plusieurs projets sur un système de cache qui délivrent des pages purement statiques (la partie dynamique étant générées en ajax). Mon besoin à ce moment était donc de stocker des résultats de requêtes html du type :
/repertoire1/repertoire2/repertoire3/fichier.html
dans un fichier et au final, ma conclusion est que, pour ce besoin, le md5 suffit amplement vu qu&#039;il n&#039;y a pas besoin de &quot;sécurisation&quot;.

Mes fichiers de cache sont donc stockés de la manière suivante dans des fichiers du type : /repertoireCache/abcdef0123456789abcdef0123456789

Et l&#039;algorithme de mon cache est simple : 
Si le fichier de cache md5(url_demandée) existe
alors on le retourne
sinon on fait le traitement et on l&#039;enregistre dans le fichier de cache md5(url_demandée)

Merci pour vos commentaires.</description>
		<content:encoded><![CDATA[<p>Merci pour vos commentaires.</p>
<p>J&#8217;ai en effet omis de mentionner l&#8217;intérêt du fameux grain de sel comme le mentionne Ludovic qui permet d&#8217;encrypter de façon plus forte une chaine de caractères. </p>
<p>En fait, à l&#8217;écriture de cet article, ma comparaison sur les performances pures, car je travaille pour plusieurs projets sur un système de cache qui délivrent des pages purement statiques (la partie dynamique étant générées en ajax). Mon besoin à ce moment était donc de stocker des résultats de requêtes html du type :<br />
/repertoire1/repertoire2/repertoire3/fichier.html<br />
dans un fichier et au final, ma conclusion est que, pour ce besoin, le md5 suffit amplement vu qu&#8217;il n&#8217;y a pas besoin de &laquo;&nbsp;sécurisation&nbsp;&raquo;.</p>
<p>Mes fichiers de cache sont donc stockés de la manière suivante dans des fichiers du type : /repertoireCache/abcdef0123456789abcdef0123456789</p>
<p>Et l&#8217;algorithme de mon cache est simple :<br />
Si le fichier de cache md5(url_demandée) existe<br />
alors on le retourne<br />
sinon on fait le traitement et on l&#8217;enregistre dans le fichier de cache md5(url_demandée)</p>
<p>Merci pour vos commentaires.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Ludovic</title>
		<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/comment-page-1/#comment-6056</link>
		<dc:creator>Ludovic</dc:creator>
		<pubDate>Wed, 17 Feb 2010 12:57:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.loicmorvan.fr/?p=1117#comment-6056</guid>
		<description>Bonjour,

Personnellement choisir entre la sécurité ou la performance le choix est vite fait... Je fais généralement un sha1(md5(&#039;Mdp&#039;)); de plus si c&#039;est une zone &quot;sensible&quot; comme une administration j&#039;y ajoute un grain de sel aléatoire.

Entre la sécurité optimale ou gagner 0.2 sec ... Normalement le choix est vite fait!

Ludovic</description>
		<content:encoded><![CDATA[<p>Bonjour,</p>
<p>Personnellement choisir entre la sécurité ou la performance le choix est vite fait&#8230; Je fais généralement un sha1(md5(&#8216;Mdp&#8217;)); de plus si c&#8217;est une zone &laquo;&nbsp;sensible&nbsp;&raquo; comme une administration j&#8217;y ajoute un grain de sel aléatoire.</p>
<p>Entre la sécurité optimale ou gagner 0.2 sec &#8230; Normalement le choix est vite fait!</p>
<p>Ludovic</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Nicolas Silberman</title>
		<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/comment-page-1/#comment-5747</link>
		<dc:creator>Nicolas Silberman</dc:creator>
		<pubDate>Fri, 15 Jan 2010 09:35:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.loicmorvan.fr/?p=1117#comment-5747</guid>
		<description>La grande question est de savoir si le bénéfice de cette optimisation compense la perte en matière de sécurité. Personnellement je ne suis pas convaincu.</description>
		<content:encoded><![CDATA[<p>La grande question est de savoir si le bénéfice de cette optimisation compense la perte en matière de sécurité. Personnellement je ne suis pas convaincu.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : SiM07</title>
		<link>http://www.loicmorvan.fr/2010/01/php-comparaison-md5-sha-1/comment-page-1/#comment-5741</link>
		<dc:creator>SiM07</dc:creator>
		<pubDate>Thu, 14 Jan 2010 23:51:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.loicmorvan.fr/?p=1117#comment-5741</guid>
		<description>Bon ... la conclusion j&#039;accroche pas vraiment surtout lorsqu&#039;on ne précise pas qu&#039;il faut absolument rajouter une chaine en plus dans le mot de passe. car faire un reverse d&#039;un hash md5 d&#039;un mot de passe basique est désormais très facile avec notre ami google. Avec sha1() c&#039;est un peu plus difficile.

Enfin maintenant, le choix de md5() ou sha1() n&#039;est pas tant en soit le risque de collision mais qu&#039;il n&#039;est plus très sûr.

Bref, si sha1 a été inventé ce n&#039;est que pour une chose, remplacer md5 pour garantir une meilleur sécurité. On ne peut donc que conseiller son emploi.</description>
		<content:encoded><![CDATA[<p>Bon &#8230; la conclusion j&#8217;accroche pas vraiment surtout lorsqu&#8217;on ne précise pas qu&#8217;il faut absolument rajouter une chaine en plus dans le mot de passe. car faire un reverse d&#8217;un hash md5 d&#8217;un mot de passe basique est désormais très facile avec notre ami google. Avec sha1() c&#8217;est un peu plus difficile.</p>
<p>Enfin maintenant, le choix de md5() ou sha1() n&#8217;est pas tant en soit le risque de collision mais qu&#8217;il n&#8217;est plus très sûr.</p>
<p>Bref, si sha1 a été inventé ce n&#8217;est que pour une chose, remplacer md5 pour garantir une meilleur sécurité. On ne peut donc que conseiller son emploi.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

