PHP & Others

3DES 암호화/복호화 예제 - 양방향 암호화 mcrypt_encrypt

페이지 정보

본문

srand();
$s_key = "encrypt seed key";
$s_vector_iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_3DES, MCRYPT_MODE_ECB), MCRYPT_RAND);

$str = "암호화 테스트";

### 암호화 ####
$en_str = mcrypt_encrypt(MCRYPT_3DES, $s_key, $str, MCRYPT_MODE_ECB, $s_vector_iv);
//암호화된 값은 binary 데이터이므로, ascii로 처리하기 위해서는 별도의 변환이 필요하다
$en_base64 = base64_encode($en_str);  //base64 encoding을 한 경우 => SVzBe9MN9Htf7zEtp+Rn3g==
$en_hex = bin2hex($en_str);  //hex로 변환한 경우 => 495cc17bd30df47b5fef312da7e467de

### 복호화 ####
$de_str = base64_decode($en_base64); //base64 encoding을 binary로 변환
$de_str = pack("H*", $en_hex); //hex로 변환한 ascii를 binary로 변환
$out_str = mcrypt_decrypt(MCRYPT_3DES, $s_key, $de_str, MCRYPT_MODE_ECB, $s_vector_iv);

echo $out_str;
=> 암호화 테스트


관련자료

등록된 댓글이 없습니다.
Today's proverb
자기 자신을 알기 위해서는 두 가지 일이 필요하다. 하나는 스스로 자기를 돌이켜보는 것이요. 다른 하나는 남이 평한 것을 듣는 일이다. (함석헌의 《뜻으로 본 한국역사》중에서)