关闭

双向加密算法

标签: 加密算法解密extensionfunctionstring
464人阅读 评论(0) 收藏 举报
分类:

一般如果使用MD5()和SHA1()等普通加密算法都是单向加密的,而且2个相同的string加密后的结果是一样的~所以现在我找到了一种可以进行双向加密的库,即可以加密后解密得到原值,并保证每个值不同。

使用前保证在php.ini中打开了extension=php_mcrypt.dll

 

<?php

function encrypt($encrypt,$key){

$iv = mcrypt_create_iv( mcrypt_get_iv_size(MCRYPT_DES,MCRYPT_MODE_ECB) , MCRYPT_RAND );

//对信息加密

$passcrypt = mcrypt_encrypt( MCRYPT_DES,$key,$encrypt,MCRYPT_MODE_ECB,$iv );

//对加密信息进行编码

$encode = base64_encode($passcrypt);

return $encode;

}

 

function decrypt($decrypt,$key){

$decoded = base64_decode($decrypt);

$iv = mcrypt_create_iv(  mcrypt_get_iv_size(MCRYPT_DES,MCRYPT_MODE_ECB) , MCRYPT_RAND );

//对信息进行解密

$decrypted = mcrypt_decrypt( MCRYPT_DES,$key,$decoded,MCRYPT_MODE_ECB,$iv );

return $decrypted;

}

//for example

$key = "11111";

$content = "xiaozhe";

$encrypted = encrypt($content,$key);

$decrypted = decrypt($encrypted,$key);

//输出

echo "加密后的信息为:".$encrypted."<br/>";

echo "解密后的信息为:".$decrypted."<br/>";

?>

 

加密后的信息为:VwxvN7UwXZM= 
解密后的信息为:xiaozhe

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:147879次
    • 积分:4284
    • 等级:
    • 排名:第7049名
    • 原创:290篇
    • 转载:27篇
    • 译文:2篇
    • 评论:5条
    最新评论