ホームページ  >  記事  >  バックエンド開発  >  Laravel 4でBCryptの代わりにSHA1暗号化を使用する方法は?

Laravel 4でBCryptの代わりにSHA1暗号化を使用する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-21 13:43:30929ブラウズ

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

Laravel 4 での SHA1 暗号化の使用

Laravel 4 で BCrypt の代わりに SHA1 暗号化を実装するには、Hash モジュールを書き直す必要があります。 Laravel の依存関係注入の原則により、これは比較的簡単です。

ステップ 1: SHAHasher クラスを作成する

IlluminateHashingHasherInterface (または、ララベル5)。 3 つの必要なメソッドを実装します。

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

ステップ 2: SHAHasher サービス プロバイダーを登録する

IlluminateSupportServiceProvider を拡張する SHAHashServiceProvider をアプリ/ライブラリに作成し、それをハッシュ コンポーネント:

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

ステップ 3: アプリ構成を変更する

  • app/config/app.php を開く
  • ' を削除しますプロバイダー配列から「IlluminateHashingHashServiceProvider」を取得します
  • プロバイダー配列に「SHAHashServiceProvider」を追加します

追加メモ

  • このメソッドにより、 Laravel で BCrypt と SHA1 暗号化を切り替えます。
  • 登録の場合、$password = sha1($password) を使用してパスワードをハッシュします。
  • post_login で、$hashed_pa​​ssword === を使用してパスワードを確認します。 Auth::attempt.
の代わりに sha1($password)

以上がLaravel 4でBCryptの代わりにSHA1暗号化を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。