BCrypt 대신 Laravel에 SHA1 암호화를 통합하는 방법
많은 사람들이 원하는 경우에도 Laravel에서 SHA1 암호화를 사용해야 할 필요가 있을 수 있습니다. 알고리즘은 BCrypt입니다. 그러나 Laravel은 본질적으로 SHA1을 지원하지 않습니다. 이 기사에서는 소스 코드를 변경하지 않고 SHA1 암호화를 Laravel에 원활하게 통합하는 방법을 살펴봅니다.
문제:
개발자는 AAC(자동 계정 생성기)를 위해 SHA1 암호화를 요구합니다. . 서버는 SHA1을 지원하지만 BCrypt는 지원하지 않습니다. 등록 시 SHA1을 직접 구현하는 것만으로는 인증에 충분하지 않습니다.
해결책:
해시 모듈 다시 작성
Laravel IoC(Inversion of Control) 및 종속성 주입 원칙을 준수합니다. 이를 통해 사용자 정의 해시 모듈을 쉽게 생성할 수 있습니다.
SHAHash 클래스
HasherInterface를 구현하는 SHAHasher 클래스를 생성합니다. 세 가지 필수 메소드인 make, check 및 needRehash를 구현합니다.
SHAHashServiceProvider
SHAHashServiceProvider를 등록합니다. 기본 해시 공급자를 사용자 정의 SHAHasher로 교체합니다.
app.php 수정
app/config/app.php에서 공급자 배열을 수정합니다. BCrypt 공급자를 제거하고 SHAHashServiceProvider를 삽입하세요.
추가 참고 사항:
이 접근 방식의 장점:
사용 예:
등록 컨트롤러에서:
<code class="php">$password = sha1($request->input('password'));</code>
인증 컨트롤러에서:
<code class="php">$credentials = array('email' => $email, 'password' => $sha1Password);</code>
이 방법을 사용하면 개발자는 SHA1 암호화를 Laravel 애플리케이션에 원활하게 통합할 수 있습니다. 프레임워크의 기본값은 BCrypt입니다.
위 내용은 BCrypt 대신 Laravel에 SHA1 암호화를 통합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!