ホームページ  >  記事  >  バックエンド開発  >  PHP可逆暗号化・復号化機能共有_PHPチュートリアル

PHP可逆暗号化・復号化機能共有_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:15:181185ブラウズ

関数のソースコード

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

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) ;
$en = encrypt($data, $key);
echo "暗号化プロトタイプ:"
echo "
キー: $ key

暗号化結果: $en

復号結果: ";



http://www.bkjia.com/PHPjc/326127.html

www.bkjia.com

tru​​e
http://www.bkjia.com/PHPjc/326127.html

技術記事

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