Maison >développement back-end >tutoriel php >Comment intégrer le cryptage SHA1 dans Laravel au lieu de BCrypt ?
Comment intégrer le cryptage SHA1 dans Laravel au lieu de BCrypt
Beaucoup peuvent rencontrer le besoin d'utiliser le cryptage SHA1 dans Laravel, même lorsque le L'algorithme est BCrypt. Cependant, Laravel ne prend pas automatiquement en charge SHA1. Cet article explique comment intégrer de manière transparente le cryptage SHA1 dans Laravel sans altérer le code source.
Problème :
Un développeur nécessite le cryptage SHA1 pour un créateur de compte automatique (AAC). . Le serveur prend en charge SHA1 mais pas BCrypt. La mise en œuvre directe de SHA1 lors de l'enregistrement seul n'est pas suffisante pour l'authentification.
Solution :
Réécriture du module de hachage
Laravel adhère aux principes de l’IoC (Inversion of Control) et de l’injection de dépendances. Cela facilite la création d'un module de hachage personnalisé.
Classe SHAHash
Créez une classe, SHAHasher, qui implémente HasherInterface. Implémentez les trois méthodes essentielles : make, check et needRehash.
SHAHashServiceProvider
Enregistrez le SHAHashServiceProvider. Il échangera le fournisseur de hachage par défaut avec votre SHAHasher personnalisé.
Modification de app.php
Modifiez le tableau des fournisseurs dans app/config/app.php. Supprimez le fournisseur BCrypt et insérez le SHAHashServiceProvider.
Remarques supplémentaires :
Avantages de cette approche :
Exemple d'utilisation :
Dans le contrôleur d'enregistrement :
<code class="php">$password = sha1($request->input('password'));</code>
Dans le contrôleur d'authentification :
<code class="php">$credentials = array('email' => $email, 'password' => $sha1Password);</code>
Cette méthode permet aux développeurs d'intégrer de manière transparente le cryptage SHA1 dans leurs applications Laravel, même lorsque le le framework est par défaut BCrypt.
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!