Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengintegrasikan Penyulitan SHA1 dalam Laravel Daripada BCrypt?

Bagaimana untuk Mengintegrasikan Penyulitan SHA1 dalam Laravel Daripada BCrypt?

Barbara Streisand
Lepaskan: 2024-10-21 11:59:31
asal
569 orang telah melayarinya

How to Integrate SHA1 Encryption in Laravel Instead of BCrypt?

Cara Mengintegrasikan Penyulitan SHA1 dalam Laravel Daripada BCrypt

Ramai mungkin menghadapi keperluan untuk menggunakan penyulitan SHA1 dalam Laravel, walaupun apabila yang dikehendaki algoritma ialah BCrypt. Walau bagaimanapun, Laravel sememangnya tidak menyokong SHA1. Artikel ini meneroka cara untuk menyepadukan penyulitan SHA1 dengan lancar ke dalam Laravel tanpa mengubah kod sumber.

Masalah:

Pemaju memerlukan penyulitan SHA1 untuk Pencipta Akaun Automatik (AAC) . Pelayan menyokong SHA1 tetapi bukan BCrypt. Pelaksanaan langsung SHA1 pada pendaftaran sahaja tidak mencukupi untuk pengesahan.

Penyelesaian:

Menulis Semula Modul Hash

Laravel mematuhi prinsip IoC (Penyongsangan Kawalan) dan Suntikan Ketergantungan. Ini memudahkan penciptaan modul cincang tersuai.

Kelas SHAHash

Buat kelas, SHAHasher, yang melaksanakan Antaramuka Hasher. Laksanakan tiga kaedah penting: buat, semak dan perlukanRehash.

SHAHashServiceProvider

Daftar SHAHashServiceProvider. Ia akan menukar penyedia cincang lalai dengan SHAHasher tersuai anda.

Pengubahsuaian app.php

Ubah suai tatasusunan penyedia dalam app/config/app.php. Alih keluar penyedia BCrypt dan masukkan SHAHashServiceProvider.

Nota Tambahan:

  • Jika menggunakan Laravel 5, laksanakan Illuminate/Contracts/Hashing/Hasher dan bukannya IlluminateInterfaceHashing.Hasher
  • Pastikan autoload.classmap dalam composer.json termasuk folder app/libraries.

Kelebihan Pendekatan ini:

  • Membolehkan penggunaan penyulitan SHA1 tanpa mengubah suai rangka kerja teras Laravel.
  • Mengekalkan prinsip reka bentuk IoC untuk kebolehlanjutan modul.

Contoh Penggunaan:

Dalam pengawal pendaftaran:

<code class="php">$password = sha1($request->input('password'));</code>
Salin selepas log masuk

Dalam pengawal pengesahan:

<code class="php">$credentials = array('email' => $email, 'password' => $sha1Password);</code>
Salin selepas log masuk

Kaedah ini memberi kuasa kepada pembangun untuk menyepadukan penyulitan SHA1 dengan lancar ke dalam aplikasi Laravel mereka, walaupun apabila rangka kerja lalai kepada BCrypt.

Atas ialah kandungan terperinci Bagaimana untuk Mengintegrasikan Penyulitan SHA1 dalam Laravel Daripada BCrypt?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan