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 相关文章推荐
ADODB的数据库封包程序库
Dec 31 PHP
抓取YAHOO股票报价的类
May 15 PHP
网站用php实现paypal整合方法
Nov 28 PHP
一些php技巧与注意事项分析
Feb 03 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 PHP
php操作XML、读取数据和写入数据的实现代码
Aug 15 PHP
一个php生成16位随机数的代码(两种方法)
Sep 16 PHP
php获取url参数方法总结
Nov 13 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
Smarty变量用法详解
May 11 PHP
php使用file函数、fseek函数读取大文件效率对比分析
Nov 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 fsockopen伪造post与get方法的详解
2013/06/14 PHP
浅析is_writable的php实现
2013/06/18 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
php的扩展写法总结
2019/05/14 PHP
IE6 fixed的完美解决方案
2011/03/31 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
Node.js模块加载详解
2014/08/16 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
javascript和jquery实现用户登录验证
2016/05/04 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
angularJS开发注意事项
2018/05/26 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
python实现的一个火车票转让信息采集器
2014/07/09 Python
python从网络读取图片并直接进行处理的方法
2015/05/22 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
python单例模式的多种实现方法
2019/07/26 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
Ado与Ado.net的相同与不同
2014/12/08 面试题
烹饪自我鉴定
2014/03/01 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
干部考核工作总结2015
2015/07/24 职场文书
高中运动会广播稿
2015/08/19 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书