현재 위치: > 최신 기사 목록> PHP 7.1의 McRypt 교체 OpenSSL : 자세한 자습서 및 샘플 코드를 교체

PHP 7.1의 McRypt 교체 OpenSSL : 자세한 자습서 및 샘플 코드를 교체

gitbox 2025-06-18

1. 소개

PHP 7.1에서 McRypt 기능 라이브러리는 구식으로 선언되었으므로 개발자는 암호화 및 암호 해독 작업을 위해 McRypt 대신 OpenSSL 확장을 사용하는 것이 좋습니다. 이 기사는 OpenSSL로 원활하게 전환하는 데 도움이되는 자세한 단계를 제공하고 샘플 코드를 통해 암호화 및 암호 해독을 구현하는 방법을 보여줍니다.

2. 왜 맥 리프트를 대체합니까?

McRypt는 한때 널리 사용되는 암호화 도구 였지만 몇 가지 분명한 단점이 있습니다. 첫째, McRypt는 오랫동안 업데이트되지 않았으며 새로운 알고리즘 및 프로토콜에 대한 지원이 부족합니다. 둘째, 대규모 데이터 암호화의 경우 McRypt의 성능이 좋지 않아 PHP 실행 시간이 너무 길어질 수 있습니다. 더 중요한 것은 PHP 7.1에서 McRypt는 구식으로 표시되어 향후 제거 될 수 있습니다. 따라서 OpenSSL로 마이그레이션하는 것은보다 안전하고 효율적인 옵션입니다.

3. McRypt를 OpenSSL 확장으로 바꾸십시오

3.1. OpenSSL Extension을 설치하십시오

OpenSSL Extension을 사용하기 전에 먼저 올바르게 설치 및 활성화되어 있는지 확인해야합니다. 설치 단계는 다음과 같습니다.

 
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo pecl install openssl

설치가 완료되면 php.ini 파일을 편집하고 다음 줄을 추가하여 OpenSSL 확장자를 활성화하십시오.

 
extension=openssl.so

3.2. OpenSSL을 사용한 암호화 및 암호 해독

OpenSSL Extension을 설치하고 활성화 한 후 암호화 및 암호 해독 작업에 제공하는 기능을 사용할 수 있습니다. 다음은 OpenSSL을 사용하여 문자열을 암호화하고 해독하는 방법을 보여주는 간단한 예입니다.

 
<?php
function encrypt($data, $key) {
    // 생성하다128비트 랜덤 벡터
    $iv = openssl_random_pseudo_bytes(16);
    // 사용AES-256-CBC알고리즘 암호화 데이터
    $encrypted = openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
    // 암호화 된 데이터 및 벡터를 반환합니다
    return base64_encode($encrypted) . ':' . base64_encode($iv);
}
<p>function decrypt($data, $key) {<br>
// 암호화 된 데이터 및 벡터를 구문 분석합니다<br>
list($encrypted, $iv) = explode(':', $data);<br>
// 데이터를 해독합니다<br>
return openssl_decrypt(base64_decode($encrypted), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, base64_decode($iv));<br>
}</p>
<p>// 사용示例<br>
$data = "Hello, World!";<br>
$key = "SecretKey123";<br>
$encryptedData = encrypt($data, $key);<br>
echo "암호화 된 데이터:" . $encryptedData . "\n";<br>
$decryptedData = decrypt($encryptedData, $key);<br>
echo "해독 된 데이터:" . $decryptedData . "\n";<br>
?><br>

이 예에서는 암호화에 AES-256-CBC 알고리즘을 사용했습니다. 128 비트 랜덤 벡터를 생성하고 암호화 및 암호 해독 중에 사용하여 데이터의 보안이 보장됩니다.

3.3. 메모

OpenSSL Extensions를 사용하는 경우 다음 사항에주의하십시오.

  • 안전한 암호화 알고리즘을 사용하려면 AES-256-CBC를 사용하는 것이 좋습니다.
  • 암호화 및 암호 해독 중에 임의의 벡터를 생성하고 사용하십시오.
  • 데이터를 암호화 할 때 데이터는 적절한 인코딩 방법에 저장해야합니다.
  • 데이터를 해독하기 전에 암호화 된 데이터와 벡터를 올바르게 구문 분석해야합니다.

4. 결론

McRypt를 OpenSSL Extension으로 교체하는 것은 암호화 작업의 보안 및 성능을 향상시키는 효과적인 방법입니다. OpenSSL Extension은 더 많은 암호화 알고리즘을 지원할뿐만 아니라보다 효율적인 처리 기능을 제공합니다. 이 기사에 제공된 샘플 코드를 사용하면 PHP에서 암호화 및 암호 해독 작업을 쉽게 구현하여 데이터 전송 및 스토리지가보다 안전 할 수 있습니다.

실제 요구에 따라 코드를 적절히 조정하고 최적화하여 프로젝트 요구 사항을 충족하도록하십시오.