php结合md5的加密解密算法实例


Posted in PHP onSeptember 30, 2016

本文实例讲述了php结合md5的加密解密算法。分享给大家供大家参考,具体如下:

<?php
/*
* Created on 2016-9-30
*
*/
function encrypt($data, $key)
{
 $key = md5($key);
  $x = 0;
  $len = strlen($data);
  $l = strlen($key);
  for ($i = 0; $i < $len; $i++)
  {
    if ($x == $l)
    {
     $x = 0;
    }
    $char .= $key{$x};
    $x++;
  }
  for ($i = 0; $i < $len; $i++)
  {
    $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
  }
  return base64_encode($str);
}
function decrypt($data, $key)
{
 $key = md5($key);
  $x = 0;
  $data = base64_decode($data);
  $len = strlen($data);
  $l = strlen($key);
  for ($i = 0; $i < $len; $i++)
  {
    if ($x == $l)
    {
     $x = 0;
    }
    $char .= substr($key, $x, 1);
    $x++;
  }
  for ($i = 0; $i < $len; $i++)
  {
    if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))
    {
      $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
    }
    else
    {
      $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
    }
  }
  return $str;
}
$data = '三水点靠木3water.com'; // 被加密信息
$data=iconv("gbk","utf-8",$data);
$key = '3water.com';   // 密钥
$encrypt = encrypt($data, $key);
$decrypt = decrypt($encrypt, $key);
echo $encrypt, "<br/>", $decrypt;
?>

运行结果如下:

TrXMTM8SFB3DGhTr2qeuYqOXZmpmn8mo
三水点靠木3water.com

PHP 相关文章推荐
用PHP实现ODBC数据分页显示一例
Oct 09 PHP
PHP 文件缓存的性能测试
Apr 25 PHP
php中根据某年第几天计算出日期年月日的代码
Feb 24 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
PHP使用json_encode函数时不转义中文的解决方法
Nov 12 PHP
php绘制圆形的方法
Jan 24 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
浅谈PHP中类和对象的相关函数
Apr 26 PHP
PHP的PDO预定义常量讲解
Jan 24 PHP
PHP页面输出时js设置input框的选中值
Sep 30 #PHP
PHP页面输出搜索后跳转下一页的处理方法
Sep 30 #PHP
php实现基于openssl的加密解密方法
Sep 30 #PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 #PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 #PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 #PHP
利用PHP生成静态html页面的原理
Sep 30 #PHP
You might like
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
Code:loadScript( )加载js的功能函数
2007/02/02 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
小程序和web画三角形实现解析
2019/09/02 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
[39:32]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第二场
2014/05/23 DOTA
Python中字符串的常见操作技巧总结
2016/07/28 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
python实现浪漫的烟花秀
2019/01/30 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
通过shell+python实现企业微信预警
2019/03/07 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
如何执行一个shell程序
2012/11/23 面试题
中英文自我评价常用句型
2013/12/19 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
小学二年级评语
2014/04/21 职场文书
优秀求职信
2014/05/29 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
社团个人总结范文
2015/03/05 职场文书