Maison >développement back-end >tutoriel php >Comment utiliser le cryptage SHA1 au lieu de BCrypt dans Laravel 4 ?

Comment utiliser le cryptage SHA1 au lieu de BCrypt dans Laravel 4 ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-21 13:43:301035parcourir

How to Use SHA1 Encryption Instead of BCrypt in Laravel 4?

Utilisation du cryptage SHA1 avec Laravel 4

Pour implémenter le cryptage SHA1 au lieu de BCrypt dans Laravel 4, vous devez réécrire le module de hachage. Les principes d'injection de dépendances de Laravel rendent cela relativement simple.

Étape 1 : Créer la classe SHAHasher

Créez une classe SHAHasher dans les applications/bibliothèques qui implémente IlluminateHashingHasherInterface (ou IlluminateContractsHashingHasher dans Laravel5). Implémentez les trois méthodes requises :

<code class="php">class SHAHasher implements Illuminate\Hashing\HasherInterface {

    // Hash a given value
    public function make($value, array $options = array()) {}

    // Verify a given plain value against a hash
    public function check($value, $hashedValue, array $options = array()) {}
    
    // Check if a hash needs to be rehashed
    public function needsRehash($hashedValue, array $options = array()) {}

}</code>

Étape 2 : Enregistrez le fournisseur de services SHAHasher

Créez un SHAHashServiceProvider dans les applications/bibliothèques qui étend IlluminateSupportServiceProvider et l'enregistre en tant que Composant de hachage :

<code class="php">class SHAHashServiceProvider extends Illuminate\Support\ServiceProvider {

    // Register the service provider
    public function register() {}

    // Get the services provided by the provider
    public function provides() {}

}</code>

Étape 3 : Modifier la configuration de l'application

  • Ouvrir app/config/app.php
  • Supprimer ' IlluminateHashingHashServiceProvider' du tableau des fournisseurs
  • Ajouter 'SHAHashServiceProvider' au tableau des fournisseurs

Notes supplémentaires

  • Cette méthode vous permet pour basculer entre le cryptage BCrypt et SHA1 dans Laravel.
  • Pour l'inscription, hachez le mot de passe en utilisant $password = sha1($password).
  • Dans post_login, vérifiez le mot de passe en utilisant $hashed_password === sha1($password) au lieu de Auth::attempt.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn