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 相关文章推荐
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
Jun 17 PHP
PHP中extract()函数的妙用分析
Jul 11 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
php后台如何避免用户直接进入方法实例
Oct 15 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
Jun 21 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
PHP访问数据库集群的方法小结
Mar 14 PHP
Laravel中服务提供者和门面模式的入门介绍
Nov 06 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
Jun 01 PHP
PHP Trait功能与用法实例分析
Jun 03 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的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
javascript基本算法汇总
2016/03/09 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
给Python初学者的一些编程技巧
2015/04/03 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
大学毕业生工作的自我评价
2013/10/01 职场文书
40岁生日感言
2014/02/15 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
信用卡工资证明格式
2014/09/13 职场文书
班主任2015新年寄语
2014/12/08 职场文书
财务年终工作总结大全
2019/06/20 职场文书
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers