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效率,提高php性能的一些方法
Mar 24 PHP
PHP 调试工具Debug Tools
Apr 30 PHP
php中多维数组按指定value排序的实现代码
Aug 19 PHP
php中ftp_chdir与ftp_cdup函数用法
Nov 18 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
PHP实现GIF图片验证码
Nov 04 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
PHP排序二叉树基本功能实现方法示例
May 26 PHP
php实现将数据做成json的格式给前端使用
Aug 21 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 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 self与$this的详解
2013/06/08 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
2014/08/22 PHP
PHP合并静态文件详解
2014/11/14 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
javascript面向对象之Javascript 继承
2010/05/04 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
python打开使用的方法
2019/09/30 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
Python __slots__的使用方法
2020/11/15 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
运动员口号
2014/06/09 职场文书
入党函调证明材料
2014/12/24 职场文书
辞职离别感言
2015/08/04 职场文书
爱国主题班会教案
2015/08/14 职场文书
实习报告范文
2019/07/30 职场文书
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS
python内置模块之上下文管理contextlib
2022/06/14 Python