首頁 > 後端開發 > php教程 > 如何在 Laravel 4 中使用 SHA1 加密取代 BCrypt?

如何在 Laravel 4 中使用 SHA1 加密取代 BCrypt?

Patricia Arquette
發布: 2024-10-21 13:43:30
原創
1030 人瀏覽過

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

在 Laravel 4 中使用 SHA1 加密

要在 Laravel 4 實現 SHA1 加密而不是 BCrypt,您必須重寫 Hash 模組。 Laravel 的依賴注入原理使這變得相對簡單。

第 1 步:建立 SHAHasher 類別

在 app/libraries 中建立一個 SHAHasher 類,該類別實作拉HuminateHashingHasherInterface(或 Illashuminate)。實作三個必要的方法:

<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 服務提供者

在app/libraries 中建立一個SHAHashServiceProvider,IlllluminateSupportIlluminateSupport其註冊為雜湊元件:

<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 === 檢查密碼sha1($password) 而不是 Auth::attempt。

以上是如何在 Laravel 4 中使用 SHA1 加密取代 BCrypt?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板