ホームページ >php教程 >php手册 >PHP 可逆暗号化/復号化関数の共有

PHP 可逆暗号化/復号化関数の共有

WBOY
WBOYオリジナル
2016-06-13 11:57:071079ブラウズ

関数のソース コード

コードをコピー コードは次のとおりです。


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);


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。