Looking for php Keywords? Try Ask4Keywords

PHPFonctions de hachage du mot de passe


Introduction

Comme de plus en plus de services Web sécurisés évitent de stocker les mots de passe au format texte brut, des langages tels que PHP fournissent diverses fonctions de hachage (non décryptables) pour prendre en charge la norme industrielle la plus sécurisée. Cette rubrique fournit une documentation pour un hachage correct avec PHP.

Syntaxe

  • string password_hash ( string $password , integer $algo [, array $options ] )
  • boolean password_verify ( string $password , string $hash )
  • boolean password_needs_rehash ( string $hash , integer $algo [, array $options ] )
  • array password_get_info ( string $hash )

Remarques

Avant PHP 5.5, vous pouvez utiliser le pack de compatibilité pour fournir les fonctions password_* . Il est fortement recommandé d'utiliser le pack de compatibilité si vous pouvez le faire.

Avec ou sans le pack de compatibilité, la fonctionnalité Bcrypt correcte via crypt() repose sur PHP 5.3.7+, sinon vous devez limiter les mots de passe aux jeux de caractères ASCII uniquement.

Note: Si vous utilisez PHP 5.5 ou moins, vous utilisez une version non prise en charge de PHP qui ne reçoit plus de mises à jour de sécurité. Mettez à jour dès que possible, vous pouvez mettre à jour vos mots de passe après.

Sélection d'algorithme

Algorithmes sécurisés

Algorithmes non sécurisés

Les algorithmes de hachage suivants sont peu sûrs ou impropres à l'usage et ne doivent donc pas être utilisés . Ils ne sont jamais adaptés au hachage de mot de passe, car ils sont conçus pour une digestion rapide au lieu d'un hachage de mot de passe de force lent et difficile.

Si vous en utilisez , même avec des sels, vous devez passer à l'un des algorithmes sécurisés recommandés dès que possible .

Algorithmes considérés peu sûrs:

Certains algorithmes peuvent être utilisés en toute sécurité comme algorithme de résumé de message pour prouver l'authenticité, mais jamais comme algorithme de hachage de mot de passe :

  • SHA-2
  • SHA-3

Remarque: les hachages forts tels que SHA256 et SHA512 ne sont ni interrompus ni robustes, mais il est généralement plus sûr d'utiliser les fonctions de hachage bcrypt ou argon2 car les attaques par force brute contre ces algorithmes sont beaucoup plus difficiles pour les ordinateurs classiques.

Fonctions de hachage du mot de passe Exemples Liés