関数のソース コード
コードをコピー コードは次のとおりです。
function encrypt($data, $key) {
$prep_code = Serialize($data);
$block = mcrypt_get_block_size('des', 'ecb')
if (($pad = $block - (strlen($prep_code) % $block); < $block ) {
$prep_code .= str_repeat(chr($pad), $pad)
$encrypt = mcrypt_encrypt(MCRYPT_DES, $key, $prep_code, MCRYPT_MODE_ECB); >returnbase64_encode($encrypt);
}
function decrypt($str, $key) {
$str = Base64_decode($str);
$str = mcrypt_decrypt(MCRYPT_DES, $key, $ str, MCRYPT_MODE_ECB);
$block = mcrypt_get_block_size('des', 'ecb');
$pad = ord($str[($len = strlen($str)) - 1] );
if ($pad && $pad < $block && preg_match('/' . chr($pad) . '{' . $pad . '}$/', $str)) {
$str = substr ($str, 0, strlen($str) - $pad);
}
return unserialize($str)
}
関数の呼び出し
コードをコピー コードは次のとおりです。
$key = 'okyo.cn';$data = array ('id' => 100, 'username' => 'customer', 'password' => 'e10adc3949ba59abbe56e057f20f883e');
$snarr = Serialize($data); $data, $key);
$de = decrypt($en, $key);
echo "暗号化プロトタイプ:"
echo "
: $key
暗号化結果: $en
復号結果: ";
print_r($de);