AES 256-bit 암호화
페이지 정보
작성자 MintState 댓글 0건 조회 22,785회 작성일 10-04-28 11:02본문
AES 256-bit 암호화
고급 암호 표준(AES, Advanced Encryption Standard)은 2002년 부터 미국 표준으로 인증받은 암호화 방법 입니다.
국내는 SEED라는 블록 암호 알고리즘이 존재합니다.
우선 이 소스를 이용하기 위해서는 mcrypt 가 필요합니다. php 설치시 포함 하셔야 합니다.
* 소스
* 결과
256-bit encrypted result: FVhzz1Vd7dC3LgUP0+Ln++6w4WX6tE9ljW5nqrszXYs=
256-bit decrypted result: http://yesyo.com한글~
고급 암호 표준(AES, Advanced Encryption Standard)은 2002년 부터 미국 표준으로 인증받은 암호화 방법 입니다.
국내는 SEED라는 블록 암호 알고리즘이 존재합니다.
우선 이 소스를 이용하기 위해서는 mcrypt 가 필요합니다. php 설치시 포함 하셔야 합니다.
* 소스
<?php // 기본 32자 $key = hex2bin("12345678901234567890123456789088"); $iv = hex2bin("12345678901234567890123456789099"); $data = "http://yesyo.com한글~"; $encrypted = encrypt($key, $iv, $data); printf("256-bit encrypted result:\n%s\n\n",$encrypted); echo "<br />"; $decrypted = decrypt($key, $iv, $encrypted); printf("256-bit decrypted result:\n%s\n\n",$decrypted); function hex2bin($hexdata) { $bindata = ""; for ($i=0;$i < strlen($hexdata);$i+=2) { $bindata .= chr(hexdec(substr($hexdata,$i,2))); } return $bindata; } function toPkcs7($value) { if (is_null($value)) $value = "" ; $padSize = 16 - (strlen($value) % 16); return $value . str_repeat(chr($padSize), $padSize); } function fromPkcs7($value) { $valueLen = strlen($value); if ($valueLen % 16 > 0) $value = ""; $padSize = ord($value{$valueLen - 1}); if ( ($padSize < 1) or ($padSize > 16) ) $value = ""; // Check padding. for ($i = 0;$i < $padSize;$i++) { if (ord($value{$valueLen - $i - 1}) != $padSize) $value = ""; } return substr($value, 0, $valueLen - $padSize); } function encrypt($key, $iv, $value) { if (is_null($value)) $value = ""; $value = toPkcs7($value); $output = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $value, MCRYPT_MODE_CBC, $iv); return base64_encode($output); } function decrypt($key, $iv, $value) { if (is_null($value)) $value = ""; $value = base64_decode($value); $output = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $value, MCRYPT_MODE_CBC, $iv); return fromPkcs7($output); } ?>
* 결과
256-bit encrypted result: FVhzz1Vd7dC3LgUP0+Ln++6w4WX6tE9ljW5nqrszXYs=
256-bit decrypted result: http://yesyo.com한글~
|
댓글목록
등록된 댓글이 없습니다.