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;
=> 암호화 테스트


관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
너의 하루하루가 너를 형성한다. 그리고 머지 않아 한 가정을, 지붕 밑의 온도를 형성할 것이다. 또한 그 온도는 이웃으로 번져 한 사회를 이루게 될 것이다. 이렇게 볼 때 너의 ‘있음’은 절대적인 것이다. 없어도 그만인 존재가 아니라는 말이다. (법정스님)