AES 암호화 (고급 암호화 표준)는 민감한 데이터 및 정보 보안을 효과적으로 보호 할 수있는 널리 사용되는 대칭 암호화 알고리즘입니다. 많은 개발자들이 데이터 전송 및 스토리지의 보안을 보장하기 위해 프로젝트에서 AES 암호화를 선택합니다. 이 기사는 PHP에서 AES 암호화를 구현하고 실용적인 코드 예제 및 모범 사례를 제공하는 방법을 소개합니다.
PHP에서 AES 암호화를 사용하는 것이 환경이 OpenSSL 확장을 지원하는지 확인하는 열쇠입니다. 구현 프로세스에는 주로 키 생성 및 초기화 벡터 (IV), 데이터 암호화 및 데이터 암호화의 세 단계가 포함됩니다.
AES 암호화에는 키와 초기화 벡터가 필요합니다. 키 길이는 128 비트, 192 비트 또는 256 비트 일 수 있으며 IV는 일반적으로 128 비트입니다. 다음 기능은이를 생성하는 방법을 보여줍니다.
function generateKeyAndIV() {
$key = openssl_random_pseudo_bytes(16); // 128비트 키
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-128-cbc')); // 128조금IV
return [$key, $iv];
}
키와 IV를 생성 한 후에는 OpenSSL 기능을 AES 암호화로 호출 할 수 있습니다. 예제는 다음과 같습니다.
function encryptData($data, $key, $iv) {
return openssl_encrypt($data, 'aes-128-cbc', $key, 0, $iv);
}
암호 해독 프로세스는 동일한 키와 IV를 암호화와 사용하고 OpenSSL 암호 해독 기능을 호출합니다.
function decryptData($encryptedData, $key, $iv) {
return openssl_decrypt($encryptedData, 'aes-128-cbc', $key, 0, $iv);
}
다음은 키 및 IV 생성, 데이터 암호화 및 암호 해독을 포함하는 완전한 PHP 예입니다.
list($key, $iv) = generateKeyAndIV();
$data = "Hello, World!";
$encryptedData = encryptData($data, $key, $iv);
$decryptedData = decryptData($encryptedData, $key, $iv);
echo "원시 데이터: $data
";
echo "암호화 된 데이터: $encryptedData
";
echo "데이터를 해독합니다: $decryptedData
";
PHP의 OpenSSL 확장을 사용하여 AES 암호화를 구현하는 것은 비교적 쉽습니다. 키는 키와 IV의 무작위성을 보장하여 보안을 보장하는 것입니다. 개발 과정에서 데이터 암호화에주의를 기울이면 응용 프로그램에 중요한 보호 계층이 추가 될 수 있습니다. 이 기사의 예와 지침이 AES 암호화 기술을 더 잘 이해하고 적용하는 데 도움이되기를 바랍니다.