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带密码功能并下载远程文件保存本地指定目录 修改加强版
May 16 PHP
php4与php5的区别小结(配置异同)
Dec 20 PHP
PHP备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
yii实现创建验证码实例解析
Jul 31 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
php根据生日计算年龄的方法
Jul 13 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
Yii框架组件和事件行为管理详解
May 20 PHP
mac os快速切换多个PHP版本的方法
Mar 07 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
Aug 18 PHP
yii2 在控制器中验证请求参数的使用方法
Jun 19 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
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
学习ExtJS border布局
2009/10/08 Javascript
jQuery 开天辟地入门篇一
2009/12/09 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
纯JavaScript实现的分页插件实例
2015/07/14 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
JS module的导出和导入的实现代码
2019/02/25 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
2020/05/27 Javascript
js瀑布流布局的实现
2020/06/28 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
python实现simhash算法实例
2014/04/25 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
学生档案自我鉴定
2013/10/07 职场文书
资产评估专业学生的自我鉴定
2013/11/14 职场文书
运动会入场解说词300字
2014/01/25 职场文书
开学典礼感言
2014/02/16 职场文书
2014年端午节演讲稿范文
2014/05/23 职场文书
诚信承诺书模板
2014/05/26 职场文书
中学清明节活动总结
2014/07/04 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书
优秀党员先进材料
2014/12/18 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python
2022年四月新番
2022/03/15 日漫
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技