Position actuelle: Accueil> Derniers articles> Algorithmes de chiffrement pris en charge par crypte () et leurs utilisations

Algorithmes de chiffrement pris en charge par crypte () et leurs utilisations

M66 2025-06-02

Dans PHP, la fonction crypte () est une fonction utilisée pour crypter les chaînes à sens unique, principalement utilisées pour traiter le hachage du mot de passe. Cette fonction sélectionne automatiquement différents algorithmes de chiffrement en fonction de la valeur "SALT" fournie, réalisant ainsi des méthodes de chiffrement flexibles. La compréhension de l'algorithme de chiffrement soutenu par Crypt () et ses scénarios applicables aideront les développeurs à faire des choix plus raisonnables dans la conception de la sécurité.

1. DES (cryptage standard)

Comment utiliser:

 $hash = crypt('mypassword', 'rl');

illustrer:
Il s'agit de l'une des premières méthodes de cryptage. Il utilise la valeur de sel de deux caractères et génère une valeur de hachage de 13 caractères.

Scénarios applicables:

  • Compatible avec les anciens systèmes.

  • Non recommandé pour les applications modernes car elle est moins sûre et vulnérable aux attaques brutales.

2. DES étendu (DES étendu)

Comment utiliser:

 $hash = crypt('mypassword', '_J9..rasm');

illustrer:
Il déclenche l'algorithme avec une valeur de sel en commençant par _ , permettant à plus de niveaux de sel et d'itérations.

Scénarios applicables:

  • Également préparé pour les anciens systèmes, mais légèrement plus forts que le DES standard.

  • Toujours pas recommandé pour une utilisation dans de nouveaux projets.

3. MD5

Comment utiliser:

 $hash = crypt('mypassword', '$1$someSalt$');

illustrer:
Lorsque le sel commence par 1 $ , Crypt () utilise l'algorithme de hachage MD5. La sortie mesure 34 caractères.

Scénarios applicables:

  • Environnements qui ont des exigences de performance élevées mais pas des exigences de sécurité très élevées.

  • Il a progressivement été remplacé par des algorithmes plus sûrs et n'est pas recommandé pour stocker des informations sensibles.

4. Blowfish (Bcrypt)

Comment utiliser:

 $hash = crypt('mypassword', '$2y$10$usesomesillystringforsalt$');

illustrer:
Les sels commençant par 2A $ , 2 milliards de dollars $ ou 2 $ $ sont représentés à l'aide de l'algorithme Blowfish (c'est-à-dire Bcrypt). Le numéro 10 est un facteur de coût, indiquant la complexité de calcul, et la plage par défaut est généralement de 4 à 31.

Scénarios applicables:

  • Recommandé pour le cryptage de mot de passe utilisateur.

  • Il a une haute sécurité, prend en charge l'ajustement des facteurs de coût et peut résister efficacement à la fissuration par force brute.

5. SHA-256 et SHA-512

Comment utiliser:

 // SHA-256
$hash256 = crypt('mypassword', '$5$rounds=5000$mysalt$');

// SHA-512
$hash512 = crypt('mypassword', '$6$rounds=5000$mysalt$');

illustrer:
Commencer avec 5 $ signifie SHA-256, et commencer par 6 $ signifie SHA-512. Le nombre d'itérations peut être ajusté à travers le paramètre Round pour augmenter le coût de calcul.

Scénarios applicables:

  • Une situation où une sécurité élevée est requise sans avoir besoin d'introduire des bibliothèques externes.

  • Traitement du chiffrement arrière avec des exigences de performance relativement lâche.

  • Utilisé pour le chiffrement des mots de passe utilisateur dans certains systèmes Linux.