>PHP 프레임워크 >Laravel >Laravel - 암호화

Laravel - 암호화

PHPz
PHPz원래의
2024-08-27 10:51:13903검색

암호화는 제3의 사용자가 정보를 읽을 수 없도록 일부 알고리즘을 사용하여 일반 텍스트를 메시지로 변환하는 프로세스입니다. 이는 침입자가 전송된 정보를 표적으로 삼을 가능성이 적기 때문에 민감한 정보를 전송하는 데 도움이 됩니다.

암호화는 암호화라는 프로세스를 사용하여 수행됩니다. 암호화할 텍스트를 일반 텍스트라고 하고, 암호화 후에 얻은 텍스트나 메시지를 암호 텍스트라고 합니다. 암호문을 일반 텍스트로 변환하는 과정을 Decryption이라고 합니다.

Laravel은 암호화에 Open SSL을 사용하는 AES-256AES-128 암호화기를 사용합니다. Laravel에 포함된 모든 값은 메시지 인증 코드 프로토콜을 사용하여 서명되므로 일단 암호화되면 기본 값이 변조될 수 없습니다.

Configuration

Laravel에서 key을 생성하는 데 사용되는 명령은 다음과 같습니다.

php artisan key:generate

이 명령은 PHP 보안 임의 바이트 생성기를 사용하며 아래 제공된 스크린샷에 표시된 대로 출력을 볼 수 있습니다. −

Artisan Key

위에 제공된 명령은 키 생성에 도움이 됩니다. 웹 애플리케이션에서 사용할 수 있습니다. 아래에 표시된 스크린샷을 살펴보세요. −

Note

암호화 값은 config/app.php 파일에서 올바르게 정렬되어 있으며, 여기에는 두 개의 암호화 매개변수 keycipher가 포함되어 있습니다. 이 키를 사용하는 값이 제대로 정렬되지 않으면 Laravel에서 암호화된 모든 값은 안전하지 않게 됩니다.

암호화 프로세스

값 암호화는 Laravel 클래스의 컨트롤러에 있는 encrypt 도우미를 사용하여 수행할 수 있습니다. 이러한 값은 OpenSSL 및 AES-256 암호화를 사용하여 암호화됩니다. 암호화된 모든 값은 메시지 인증 코드(MAC)로 서명되어 암호화된 문자열의 수정 사항을 확인합니다.

Laravel - 암호화

아래 표시된 코드는 컨트롤러에서 언급되며 비밀 또는 민감한 메시지를 저장하는 데 사용됩니다.

채우기([
         '비밀' => 암호화($request->비밀)
      ])->저장();
   }
}

복호화 프로세스

값의 복호화는 decrypt 도우미를 사용하여 수행됩니다. 다음 코드 줄을 관찰하세요 −

use IlluminateContractsEncryptionDecryptException;

// 파사드에 던져진 복호화에 대한 예외
노력하다 {
   $decrypted = decrypt($encryptedValue);
} catch (DecryptException $e) {
   //
}

잘못된 MAC을 사용하여 암호 해독 프로세스가 성공하지 못한 경우 적절한 예외가 발생한다는 점에 유의하세요.

위 내용은 Laravel - 암호화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Laravel - 장인 콘솔다음 기사:Laravel - 장인 콘솔