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 相关文章推荐
BBS(php &amp; mysql)完整版(五)
Oct 09 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
解析PHP中empty is_null和isset的测试
Jun 29 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
Thinkphp无限级分类代码
Nov 11 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
php排序算法实例分析
Oct 17 PHP
PHP-FPM运行状态的实时查看及监控详解
Nov 18 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
Nov 21 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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下获取http状态的实现代码
2014/05/09 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
查看TensorFlow checkpoint文件中的变量名和对应值方法
2018/06/14 Python
python 格式化输出百分号的方法
2019/01/20 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
python中封包建立过程实例
2021/02/18 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
瑞士国际航空官网:SWISS
2016/07/21 全球购物
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
final, finally, finalize的区别
2012/03/01 面试题
新闻专业应届生求职信
2013/10/31 职场文书
会计找工作求职信范文
2013/12/09 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
政风行风整改方案
2014/10/25 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
导游词之海南天涯海角
2019/12/05 职场文书