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

Patricia Arquette
Libérer: 2024-10-21 13:43:30
original
928 Les gens l'ont consulté

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>
Copier après la connexion

É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>
Copier après la connexion

É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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!