인터넷 개발을 통해 데이터베이스는 민감한 정보를 저장하고 관리하는 핵심 도구가되었습니다. PHP 응용 프로그램에서는 데이터베이스에 사용자 비밀번호, 신용 카드 정보 등과 같은 민감한 데이터를 저장해야합니다. 따라서 데이터 암호화 및 암호 해독 기술은 데이터베이스의 보안을 보장하는 데 중요합니다.
PHP는 AES (Advanced Encryption Standard) 및 RSA (Rivest-Shamir-Adleman)와 같은 다양한 암호화 알고리즘을 제공합니다. 데이터베이스 연결에서 AES 알고리즘은 일반적으로 민감한 데이터를 암호화하는 데 사용됩니다. 다음은 AES 알고리즘을 사용하여 데이터를 암호화하는 방법을 보여주는 예입니다.
<?php // 암호화 기능 function encrypt($data, $key) { $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc')); $encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv); return base64_encode($encrypted . '::' . $iv); } ?>
다음으로 PDO를 사용하여 데이터베이스 연결을 설정하고 암호화 된 데이터를 저장할 수 있습니다.
<?php // 데이터베이스 연결 $servername = "localhost"; $username = "your_username"; $password = "your_password"; $key = "your_encryption_key"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); $conn-> setAttribute (pdo :: att_errmode, pdo :: errmode_exception); // 암호화 될 데이터 $ $ data = "inventitive_info"; // 암호화 된 데이터 $ alcryptedData = alcrypt ($ data, $ key); // 암호화 된 데이터를 데이터베이스에 저장 $ sql = "테이블에 삽입 (encrypted_data) 값 ( '$ alcryptedData')"; $ conn-> exec ($ sql); Echo "데이터를 암호화하고 성공적으로 저장했습니다."; } catch (pdoexception $ e) { 에코 "오류 :". $ e-> getMessage (); } $ conn = null; ?>
데이터베이스에서 암호화 된 데이터를 검색 해야하는 경우 탈퇴 기술이 데이터 복원에 사용됩니다. 다음은 AES 알고리즘을 사용하여 데이터를 해독하는 방법을 보여주는 예입니다.
<?php // 암호 해독 기능 function decrypt($data, $key) { list($encryptedData, $iv) = explode('::', base64_decode($data), 2); return openssl_decrypt($encryptedData, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv); } ?>
다음 코드는 데이터베이스에서 암호화 된 데이터를 가져오고 해독하는 방법을 보여줍니다.
<?php // 데이터베이스 연결 $servername = "localhost"; $username = "your_username"; $password = "your_password"; $key = "your_encryption_key"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); $conn-> setAttribute (pdo :: att_errmode, pdo :: errmode_exception); // 데이터베이스에서 암호화 된 데이터를 검색하십시오 $ SQL = "테이블에서 Encrypted_Data를 선택하십시오"; $ stmt = $ conn-> query ($ sql); $ result = $ stmt-> fetch (); // 해독 데이터 $ decryptedData = decrypt ($ result [ 'encrypted_data'], $ key); 에코 "해독 된 데이터 :". $ decrypteddata; } catch (pdoexception $ e) { 에코 "오류 :". $ e-> getMessage (); } $ conn = null; ?>
PHP에서 암호화 및 암호 해독 기술을 사용함으로써 데이터베이스에서 민감한 데이터의 보안을 효과적으로 개선 할 수 있습니다. AES 알고리즘의 암호화 및 암호 해독은 데이터의 기밀성을 보호 할뿐만 아니라 잠재적 인 데이터 누출을 방지합니다. 암호화 키의 보안을 보호하는 것이 중요하므로 키의 공개를 방지하기 위해 적절한 조치를 취해야합니다.
이 기사는 PHP, 특히 데이터베이스 연결 애플리케이션에서 데이터 암호화 및 암호 해독 기술을 구현하는 방법을 소개합니다. 개발 작업에 대한 참조를 제공 할 수 있기를 바랍니다.