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 mysql索引问题
Jun 07 PHP
PHP系列学习之日期函数使用介绍
Aug 18 PHP
CI框架Session.php源码分析
Nov 03 PHP
jQuery Mobile + PHP实现文件上传
Dec 12 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
May 13 PHP
php生成验证码函数
Oct 20 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
Aug 17 PHP
php apache开启跨域模式过程详解
Jul 08 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 PHP
PHP命令行与定时任务
Apr 01 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
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
javascript常用功能汇总
2015/07/05 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
基于Vue单文件组件详解
2017/09/15 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
解决vue数组中对象属性变化页面不渲染问题
2018/08/09 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
PyMongo安装使用笔记
2015/04/27 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
Python random模块的使用示例
2020/10/10 Python
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
25道Java面试题集合
2013/05/21 面试题
电厂职工自我鉴定
2014/02/20 职场文书
美容院店长岗位职责
2014/04/08 职场文书
骨干教师考核方案
2014/05/09 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
golang 实用库gotable的具体使用
2021/07/01 Golang
Redis实现短信验证码登录的示例代码
2022/06/14 Redis