현재 위치: > 최신 기사 목록> PHP 양식 데이터 암호화 및 암호 해독 자습서 : 보안 및 개인 정보 보호 개선

PHP 양식 데이터 암호화 및 암호 해독 자습서 : 보안 및 개인 정보 보호 개선

M66 2025-06-13

PHP 양식 데이터 암호화 및 암호 해독 자습서 : 보안 및 개인 정보 보호 개선

웹 개발에서 형태는 일반적인 상호 작용 방법입니다. 사용자 개인 정보를 보호하기 위해 개발자는 일반적으로 데이터 유출을 방지하기 위해 양식 데이터를 암호화해야합니다. 이 기사는 PHP를 사용하여 양식 데이터를 암호화 및 해독하는 방법을 소개하고 실제 코드 예제와 결합하여 개발자가 암호화 및 암호 해독 프로세스를 이해하고 데이터가 변조되는 것을 방지하는 방법을 이해할 수 있도록합니다.

1. 올바른 암호화 방법을 선택하십시오

양식 데이터를 암호화하기 전에 먼저 적절한 암호화 방법을 선택해야합니다. 일반적인 암호화 방법에는 대칭 암호화 및 비대칭 암호화가 포함됩니다. 대칭 암호화는 암호화 및 암호 해독에 동일한 키를 사용하는데, 이는 더 빠르지 만 키 관리는 비교적 복잡합니다. 비대칭 암호화는 공개 키 암호화와 개인 키 암호화를 사용하지만 더 안전하지만 느립니다.

아래에서는 AES 알고리즘을 예제로 사용하여 대칭 암호화를 사용하여 양식 데이터를 암호화하고 해독하는 방법을 보여줍니다.

코드 예제 1 : AES 대칭 암호화 알고리즘을 사용한 양식 데이터 암호화

<?php
$key = 'put_your_key_here'; // 열쇠,기밀로 유지해야합니다

function encrypt($data, $key)
{
    $method = 'AES-256-CBC'; // 암호화 알고리즘
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($method)); // 벡터 초기화
    $encrypted = openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
    return base64_encode($iv . $encrypted);
}

function decrypt($encrypted, $key)
{
    $method = 'AES-256-CBC'; // 암호화 알고리즘
    $encrypted = base64_decode($encrypted);
    $length = openssl_cipher_iv_length($method);
    $iv = substr($encrypted, 0, $length);
    $data = substr($encrypted, $length);
    return openssl_decrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
}

// 암호화 예
$data = $_POST['data'];
$encrypted_data = encrypt($data, $key);
echo "암호화 된 데이터:" . $encrypted_data;

// 암호 해독 예
$decrypted_data = decrypt($encrypted_data, $key);
echo "해독 된 데이터:" . $decrypted_data;
?>

이 예에서는 두 가지 함수를 정의합니다.`encrypt`는 데이터를 암호화하는 데 사용되며 'decrypt'는 데이터를 해독하는 데 사용됩니다. `encrypt '함수는 AES-256-CBC 알고리즘을 사용하여 데이터를 암호화하고 암호화 된 데이터를 반환합니다. `decrypt '함수는 원래 데이터를 복원하기위한 키에 따라 데이터를 암호화합니다.

2. 데이터 변조 방지

양식 데이터를 암호화하는 것 외에도 전송 중에 데이터가 변조되는 것을 방지해야합니다. 일반적인 방법은 해싱 알고리즘을 사용하여 데이터의 서명 또는 다이제스트를 생성하는 것입니다. 해시 알고리즘은 데이터의 무결성을 보장하고 데이터의 악의적 인 수정을 피할 수 있습니다.

다음으로 HMAC-SHA256 알고리즘을 사용하여 데이터가 변조되지 않았는지 확인하기 위해 양식 데이터에 서명합니다.

코드 예제 2 : HMAC-SHA256 알고리즘을 사용한 양식 데이터 서명

<?php
$key = 'put_your_key_here'; // 열쇠,기밀로 유지해야합니다

function sign($data, $key)
{
    return hash_hmac('sha256', $data, $key); // 사용HMAC-SHA256서명을 생성하십시오
}

function verify($data, $signature, $key)
{
    $computed_signature = sign($data, $key);
    return hash_equals($computed_signature, $signature); // 서명이 일치하는지 비교하십시오
}

// 서명 예
$data = $_POST['data'];
$signature = sign($data, $key);
echo "서명 결과:" . $signature;

// 검증 예
$verified = verify($data, $signature, $key);
if ($verified) {
    echo "서명 검증이 통과되었습니다";
} else {
    echo "서명 검증에 실패했습니다";
}
?>

이 예에서`부호 '함수는 HMAC-SHA256 알고리즘을 사용하여 데이터에 서명하는 반면'verify '기능은 키를 기반으로 서명의 유효성을 확인합니다. 이런 식으로, 우리는 양식 데이터가 전송 중에 변조되지 않도록 할 수 있습니다.

요약

이 기사는 PHP를 사용하여 양식 데이터를 암호화 및 해독하는 방법을 소개하고 해당 코드 예제를 제공합니다. 사용자 개인 정보 보호 및 데이터 무결성 보호가 중요하는 시나리오의 경우 데이터 보안을 보호하기 위해 적절한 암호화 방법 및 서명 알고리즘을 선택할 수 있습니다. 열쇠의 기밀성은 키가 승인 된 사람에게만 볼 수 있도록하기 위해 매우 중요하다는 점에 유의해야합니다.