频道栏目
首页 > 资讯 > 常用功能 > 正文

mcrypt 如何加/解密 ?

16-01-08        来源:[db:作者]  
收藏   我要投稿
查看 Phpinfo() 页面,看看你的 libmcrypt 是哪个版本的,如果 2.4.0 以上就不能使用你的那种方法。

而且 libmcrypt 的支持的加密算法,所依赖的 libmcrypt 的版本也是不一样的。

下面的是 2.4.0+ 的加解密的方法~ 

也是手册中的例子
PHP代码:


function make_seed() {

    list($usec, $sec) = explode(' ', microtime());

    return(float) $sec +((float) $usec * 100000);

}

srand(make_seed());



/* 开启加密算法/ */

$td = mcrypt_module_open('twofish', '', 'ecb', '');



/* 建立 IV,并检测 key 的长度 */

$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);

$ks = mcrypt_enc_get_key_size($td);



/* 生成 key */

$key = substr(md5('very secret key'), 0, $ks);



/* 初始化加密程序 */

mcrypt_generic_init($td, $key, $iv);



/* 加密, $encrypted 保存的是已经加密后的数据 */

print $encrypted = mcrypt_generic($td, 'This is very important data');



/* 检测加密句柄 */

mcrypt_generic_deinit($td);



/* 初始化加密模块,用以解密 */

mcrypt_generic_init($td, $key, $iv);



/* 解密 */

$decrypted = mdecrypt_generic($td, $encrypted);



/* 检测解密句柄,并关闭模块 */

mcrypt_generic_deinit($td);

mcrypt_module_close($td);



/* 显示原始字符串 */

echo trim($decrypted)."\n";
相关TAG标签
上一篇:php中运用GD2库创建图形在浏览器中显示不出来
下一篇:怎的提取“xxx,订单号123”里面的123呢
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站