현재 위치: > 최신 기사 목록> PHP 데이터베이스 연결에서 데이터 암호화 및 암호 해독 기술에 대한 자세한 설명

PHP 데이터베이스 연결에서 데이터 암호화 및 암호 해독 기술에 대한 자세한 설명

M66 2025-06-19

PHP 데이터베이스 연결에서 데이터 암호화 및 암호 해독 기술에 대한 자세한 설명

인터넷 개발을 통해 데이터베이스는 민감한 정보를 저장하고 관리하는 핵심 도구가되었습니다. 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) 값 ( &#39;$ alcryptedData&#39;)";
    $ 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 [ &#39;encrypted_data&#39;], $ key);

    에코 "해독 된 데이터 :". $ decrypteddata;
} catch (pdoexception $ e) {
    에코 "오류 :". $ e-> getMessage ();
}

$ conn = null;
?>

요약

PHP에서 암호화 및 암호 해독 기술을 사용함으로써 데이터베이스에서 민감한 데이터의 보안을 효과적으로 개선 할 수 있습니다. AES 알고리즘의 암호화 및 암호 해독은 데이터의 기밀성을 보호 할뿐만 아니라 잠재적 인 데이터 누출을 방지합니다. 암호화 키의 보안을 보호하는 것이 중요하므로 키의 공개를 방지하기 위해 적절한 조치를 취해야합니다.

이 기사는 PHP, 특히 데이터베이스 연결 애플리케이션에서 데이터 암호화 및 암호 해독 기술을 구현하는 방법을 소개합니다. 개발 작업에 대한 참조를 제공 할 수 있기를 바랍니다.