라이브러리

[PHP] openssl_encrypt - 데이터 암호화




PHP에서 OpenSSL 암호화

PHP 5.3.7 버전부터 OpenSSL 모듈이 기본적으로 포함되어 있으며, 암호화 및 복호화에 사용할 수 있습니다. OpenSSL은 SSL/TLS 프로토콜을 구현하는 오픈 소스 라이브러리입니다.

OpenSSL 암호화 함수


PHP에서 OpenSSL 암호화 함수는 다음과 같습니다.

* `openssl_encrypt()`: 암호화 함수
* `openssl_decrypt()`: 복호화 함수
* `openssl_cipher_iv_length()`: 암호화에 사용되는 키 길이를 반환하는 함수
* `openssl_random_pseudo_bytes()`: 암호화에 사용되는 난수 생성 함수

암호화 알고리즘


PHP에서 OpenSSL 암호화 함수는 다양한 암호화 알고리즘을 지원합니다.

* `AES-128-CBC`: 128비트 AES 암호화 알고리즘
* `AES-256-CBC`: 256비트 AES 암호화 알고리즘
* `AES-128-ECB`: 128비트 AES 암호화 알고리즘 (ECB 모드)
* `AES-256-ECB`: 256비트 AES 암호화 알고리즘 (ECB 모드)

암호화 예제


#hostingforum.kr
php

<?php



// 암호화 함수

function encrypt($data, $key, $cipher) {

    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($cipher));

    $encrypted = openssl_encrypt($data, $cipher, $key, OPENSSL_RAW_DATA, $iv);

    return base64_encode($iv . $encrypted);

}



// 복호화 함수

function decrypt($data, $key, $cipher) {

    $data = base64_decode($data);

    $iv = substr($data, 0, openssl_cipher_iv_length($cipher));

    $encrypted = substr($data, openssl_cipher_iv_length($cipher));

    return openssl_decrypt($encrypted, $cipher, $key, OPENSSL_RAW_DATA, $iv);

}



// 암호화 키

$key = 'my_secret_key';



// 암호화할 데이터

$data = 'Hello, World!';



// 암호화 알고리즘

$cipher = 'AES-128-CBC';



// 암호화

$encrypted = encrypt($data, $key, $cipher);

echo '암호화된 데이터: ' . $encrypted . "
";



// 복호화

$decrypted = decrypt($encrypted, $key, $cipher);

echo '복호화된 데이터: ' . $decrypted . "
";



?>



이 예제에서는 AES-128-CBC 암호화 알고리즘을 사용하여 데이터를 암호화하고 복호화하는 방법을 보여줍니다. 암호화 키는 `my_secret_key`로 설정되어 있으며, 암호화할 데이터는 `Hello, World!`입니다.

암호화 및 복호화 시 주의사항


* 암호화 키는 안전하게 보관해야 합니다. 키가 노출되면 데이터가 위험하게 노출됩니다.
* 암호화 알고리즘은 안전하게 선택해야 합니다. AES-128-CBC는 일반적으로 안전한 알고리즘입니다.
* 암호화된 데이터는 안전하게 저장해야 합니다. 데이터가 노출되면 위험하게 노출됩니다.

이 글은 PHP에서 OpenSSL 암호화 함수를 사용하여 데이터를 암호화하고 복호화하는 방법을 설명합니다. 암호화 키와 알고리즘을 안전하게 선택하고, 암호화된 데이터를 안전하게 저장하는 것이 중요합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 351 페이지

검색

게시물 검색