zhexiao

keep going

双向加密算法

一般如果使用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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/andybegin/article/details/7412615
个人分类: PHP
上一篇Ubuntu下网络连接图标丢失后获得方法
下一篇PHP动态库php_mcrypt.dll和php_openssl.dll无法加载的问题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭