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

2020年1月19日12:08:43
评论

若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,0,3);

$tmp="";

for($i=0;$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 $tmp.=substr($str,$i,1) ^ substr($key,$i,1);

}

return $tmp;

}

$key='cc';

$jh=jiami($str, $key);

echo '加密前:'.$str.'

';

echo '加密后:'.$jh.'

';

echo '解密后:'.jiemi($jh, $key).'

';

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

企鹅博客
  • 本文由 发表于 2020年1月19日12:08:43
  • 转载请务必保留本文链接:https://www.qieseo.com/314869.html

发表评论