加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-05-28 15:24:42 所属栏目:PHP 来源:互联网
导读:字符串的加密解密在数据的处理中应该是经常使用的,但MD5加密是不可逆的,所以自能自己动手写一个加密解密函数,思路很。网上看了几个用异或实现的思路,看懂后就自己写了一下。异或的思路很简单,用个公示简单的表示下吧

若a=b ^ c;则b=a ^ c (^是异或的意思),php在处理异或的字符时先把字符转化为二进制的ascii值,对这些值进行异或,获取结果后在将ascii值转化为字符,原理说晚了直接贴实现的代码:
代码如下:echo '$str='世界,你好';
function jiami($str,$key){
$key=md5($key);
$k=md5(rand(0,100));//相当于动态密钥
$k=substr($k,3);
$tmp="";
for($i=0;$i$tmp.=substr($str,$i,1) ^ substr($key,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$tmp.=substr($str,1);
}
return $tmp;
}
$key='cc';
$jh=jiami($str,$key);
echo '加密前:'.$str.'
';
echo '加密后:'.$jh.'
';
echo '解密后:'.jiemi($jh,$key).'
';

有机会在完善下,本函数实现的是简单的加密解密

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读