Utiliser le cryptage SHA1 au lieu de BCrypt dans Laravel 4
Dans certains scénarios, tels que l'interface avec des systèmes externes qui imposent le cryptage SHA1, il peut être nécessaire de contourner le mécanisme de chiffrement BCrypt par défaut de Laravel. Cet article explique comment utiliser SHA1 à la place.
Étape 1 : implémenter une classe de hachage personnalisée
Créez une classe de hachage personnalisée, telle que SHAHasher, qui implémente l'interface IlluminateHashingHasher. Cette classe fournira des méthodes de hachage, de vérification des hachages et de détermination si un nouveau hachage est nécessaire.
Étape 2 : Définir le fournisseur de services de hachage SHA
Créer un SHAHashServiceProvider qui étend IlluminateSupportServiceProvider. Ce fournisseur de services enregistrera la classe de hachage personnalisée comme mécanisme de hachage par défaut pour Laravel.
Étape 3 : Remplacer le fournisseur de hachage par défaut
Dans app/config/app. php, supprimez le fournisseur de services de hachage par défaut (« IlluminateHashingHashServiceProvider ») et ajoutez le SHAHashServiceProvider personnalisé.
Étape 4 : Chiffrer les mots de passe à l'aide de SHA1
Une fois le fournisseur de hachage personnalisé créé en place, vos opérations de hachage de mot de passe peuvent être mises à jour pour utiliser le cryptage SHA1, telles que :
<code class="php">$password = sha1($input['password']);</code>
Étape 5 : Remplacer la validation de connexion (facultatif)
Si le Si le système externe nécessite une validation supplémentaire au-delà du hachage du mot de passe, vous devrez peut-être remplacer la méthode post_login dans votre contrôleur pour gérer explicitement le cryptage SHA1.
Considérations supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!