snakeser
2017-11-16 04:42php 使用mcrypt加密后,解密的值和原变量的值不相等
<?php
//比较两值的函数
function abc( $a, $b){
if ($a == $b) {
echo 'true';
}
else{
echo 'false';
}
};
$user_en = "zkb";//需要加密的值
$key = "abc22333";//秘钥
// 打开mcrypt,或者mcrypt类型的资源对象,该对象使用ecb模式,使用3des作为加密算法。
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
// 创建iv(初始化向量)
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
// 根据密钥和iv初始化$td,完成内存分配等初始化工作
mcrypt_generic_init($td, $key, $iv);
// 进行加密
$user_encrypt = mcrypt_generic($td, $user_en);
//进行解密
$user = mdecrypt_generic($td, $user_encrypt);
// 反初始化$td,释放资源
mcrypt_generic_deinit($td);
// 关闭资源对象,退出
mcrypt_module_close($td);
echo $user_en.' = '.$user.'<br>';//比较原值和解密后的值
echo abc($user_en,$user).'<br>';//比较原值和解密后的值
echo '$user_encrypt:'.gettype($user_en).' '.'$user:'.gettype($user);//比较原值和解密后的值的类型
?>
- 点赞
- 回答
- 收藏
- 复制链接分享
2条回答
为你推荐
- 使用Go和PHP进行AES加密
- aes
- encryption
- php
- 2个回答
- mcrypt在Windows / IIS上的PHP 5.6中不起作用
- iis
- encryption
- php
- 4个回答
- PHP mcrypt错误,解密失败
- cryptography
- php
- 1个回答
- PHP mcrypt_create_iv返回问号和不正确的长度 - CodeIgniter
- codeigniter
- php
- 1个回答
- 用变音符号加密和解密
- cryptography
- encryption
- php
- 1个回答
换一换