php结合md5实现的加密解密方法


Posted in PHP onJanuary 25, 2016

本文实例讲述了php结合md5实现的加密解密方法。分享给大家供大家参考,具体如下:

最近在整理代码发现了一个不错的东西,结合md5的加解密算法。网上关于php结合md5的加密,解密算法比较少的,其实php手册里面就有,改一改就行了。在此贴一下,用这算法要加载一个php模块mcrypt,不然用不了。

//加密
function string2secret($str)
{
 $key = "123";
 $td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
 $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
 $ks = mcrypt_enc_get_key_size($td);
 $key = substr(md5($key), 0, $ks);
 mcrypt_generic_init($td, $key, $iv);
 $secret = mcrypt_generic($td, $str);
 mcrypt_generic_deinit($td);
 mcrypt_module_close($td);
 return $secret;
}
//解密
function secret2string($sec)
{
 $key = "123";
 $td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
 $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
 $ks = mcrypt_enc_get_key_size($td);
 $key = substr(md5($key), 0, $ks);
 mcrypt_generic_init($td, $key, $iv);
 $string = mdecrypt_generic($td, $sec);
 mcrypt_generic_deinit($td);
 mcrypt_module_close($td);
 return trim($string);
}
echo secret2string(string2secret("11111111111111111")); //显示结果是11111111111111111
echo string2secret("11111111111111111"); //显示乱码

php经常用的加解密函数,base64_encode,base64_decode。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP网上调查系统
Oct 09 PHP
PHP 5.0对象模型深度探索之对象复制
Mar 27 PHP
基于php split()函数的用法详解
Jun 05 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
Apr 03 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
php  单例模式详细介绍及实现源码
Nov 05 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
Apr 18 PHP
利用PHP实现一个简单的用户登记表示例
Apr 25 PHP
PHP几个实用自定义函数小结
Jan 25 #PHP
php代码架构的八点注意事项
Jan 25 #PHP
详解js异步文件加载器
Jan 24 #PHP
PHP导出Excel实例讲解
Jan 24 #PHP
PHP验证码生成原理和实现
Jan 24 #PHP
详解PHP对象的串行化与反串行化
Jan 24 #PHP
php上传图片获取路径及给表单字段赋值的方法
Jan 23 #PHP
You might like
JAVA/JSP学习系列之七
2006/10/09 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
wxPython中listbox用法实例详解
2015/06/01 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
python顺序执行多个py文件的方法
2019/06/29 Python
python命令 -u参数用法解析
2019/10/24 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
什么是java序列化,如何实现java序列化
2012/11/14 面试题
银行会计业务的个人自我评价
2013/11/02 职场文书
大学毕业生个人自荐信范文
2014/01/08 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
结婚通知短信大全
2015/04/17 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
导游词之北京明十三陵
2019/10/28 职场文书