25Fermer27
ZerosquareLe 13/10/2014 à 20:16
squale92 (./24) :
6> aucune de tes propositions : PHP fournit password_hash() depuis PHP 5.5 -- c'est *la* fonction à utiliser si tu ne veux pas avoir à t'emmerder à gérer des trucs que tu comprends pas forcément toujours bien. Pour PHP 5.4 (et 5.3 hormis les plus vieilles) tu as une couche de compatibilité écrite en PHP. De mémoire, cela dit, password_hash() fait par défaut du bcrypt, au moins en PHP 5.5
Mouais, c'est un point de vue discutable je trouve.

Pour : comme tu le fais remarquer, ça évite que des gens qui ne s'y connaissent pas réimplémentent maladroitement un truc qui sera foireux du point de vue sécurité.

Contre : quitte à se reposer sur une solution existante, je ferais plus confiance à une biblio de sécurité/crypto (même si ce n'est pas la panacée, cf. les failles dans OpenSSL) plutôt qu'aux développeurs de PHP, qui ont montré par le passé à quel point ils pouvaient être mauvais grin
Et utiliser une fonction sans comprendre ce qu'elle fait n'est pas un bon plan non plus : imagine que cette fonction ait existé à l'époque où le MD5 était considéré comme sûr. Quelques années plus tard, MD5 est cassé, mais la fonction continue à l'utiliser pour assurer la compatibilité. Si tu lui fais aveuglément confiance, tu te fais avoir.