php使用异或实现的加密解密实例
若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>';
有机会在完善下,本函数实现的是简单的加密解密
相关推荐
嗡汤圆 2020-05-14
xiaobater 2020-02-02
kuoying 2019-12-30
SJCHEN 2019-11-01
Sabrina 2019-10-31
SJCHEN 2019-10-26
coolrainman 2018-09-23
Ctommy 2018-03-22
雜貨鋪 2019-07-02
LITElric 2019-07-01
cherry0 2019-06-28
欢子 2019-06-20
Donie 2017-06-08
WindChaser 2011-08-01
社会主义好 2015-04-13
evanbai 2011-04-12
python0 2016-06-04
yizhizouABC 2014-01-24
chenmingwei 2009-08-12