php使用异或实现的加密解密实例


Posted in PHP onSeptember 04, 2013

若a=b ^ c;则b=a ^ c (^是异或的意思),php在处理异或的字符时先把字符转化为二进制的ascii值,对这些值进行异或,获取结果后在将ascii值转化为字符,原理说晚了直接贴实现的代码:

echo '<meta charset="utf-8">';
  $str='世界,你好';  
  function jiami($str,$key){
   $key=md5($key);
   $k=md5(rand(0,100));//相当于动态密钥
   $k=substr($k,0,3);
   $tmp="";
   for($i=0;$i<strlen($str);$i++){
    $tmp.=substr($str,$i,1) ^ substr($key,$i,1);
   }
   return base64_encode($k.$tmp);
  }  
  function jiemi($str,$key){
   $len=strlen($str);
   $key=md5($key);
   $str=base64_decode($str);
   $str=substr($str,3,$len-3);
   $tmp="";
   for($i=0;$i<strlen($str);$i++){
    $tmp.=substr($str,$i,1) ^ substr($key,$i,1);
   }    
   return $tmp;
  }  
  $key='cc';
  $jh=jiami($str, $key);
  echo '加密前:'.$str.'<br>';
  echo '加密后:'.$jh.'<br>';
  echo '解密后:'.jiemi($jh, $key).'<br>';

有机会在完善下,本函数实现的是简单的加密解密
PHP 相关文章推荐
PHP新手上路(十二)
Oct 09 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
ajax实现无刷新分页(php)
Jul 18 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
php猜单词游戏
Sep 29 PHP
thinkPHP下的widget扩展用法实例分析
Dec 26 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
Mar 01 PHP
通过php动态传数据到highcharts
Apr 05 PHP
零基础php编程好学吗
Oct 11 PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 PHP
PHP中数组定义的几种方法
Sep 01 #PHP
对淘宝URL中ID提取的PHP代码
Sep 01 #PHP
怎么在Windows系统中搭建php环境
Aug 31 #PHP
深入解析php中的foreach函数
Aug 31 #PHP
如何使用php输出时间格式
Aug 31 #PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 #PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 #PHP
You might like
PHP静态类
2006/11/25 PHP
PHP 简单数组排序实现代码
2009/08/05 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
js清理Word格式示例代码
2014/02/13 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
python config文件的读写操作示例
2019/09/27 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
仓库管理制度
2014/01/21 职场文书
乐观自信演讲稿范文
2014/05/21 职场文书
入党推优材料
2014/06/02 职场文书
超市理货员岗位职责
2014/07/04 职场文书
道士塔读书笔记
2015/06/30 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL