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
session在PHP大型web应用中的使用
Jun 25 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
CURL状态码列表(详细)
Jun 27 PHP
php下获取http状态的实现代码
May 09 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
PHP之将POST数据转化为字符串的实现代码
Nov 03 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
PHP+Apache环境中如何隐藏Apache版本
Nov 24 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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 和 HTML
2006/10/09 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
javascript 日期时间 转换的方法
2013/02/21 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
JavaScript或jQuery 获取option value值方法解析
2020/05/12 jQuery
vue3.0生命周期的示例代码
2020/09/24 Javascript
Python命名空间详解
2014/08/18 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python3.4实现邮件发送功能
2018/05/28 Python
python+opencv实现阈值分割
2018/12/26 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
物业客服专员岗位职责
2013/11/30 职场文书
霸气队列口号
2014/06/18 职场文书
2015年档案室工作总结
2015/05/23 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书