php使用异或实现的加密解密实例
作者:
字符串的加密解密在数据的处理中应该是经常使用的,但MD5加密是不可逆的,所以自能自己动手写一个加密解密函数,思路很。网上看了几个用异或实现的思路,看懂后就自己写了一下。异或的思路很简单,用个公示简单的表示下吧
若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可逆加密解密算法实例代码
- php加密算法之实现可逆加密算法和解密分享
- php使用base64加密解密图片示例分享
- php的一个简单加密解密代码
- php加密解密实用类分享
- PHP加密扩展库Mcrypt安装和实例
- php加密解密函数authcode的用法详细解析
- PHP加密函数 Javascript/Js 解密函数
- php实现MD5加密16位(不要默认的32位)
- php pki加密技术(openssl)详解
- 解析如何用php screw加密php源代码
- php_screw 1.5:php加密: 安装与使用详解
- 具有时效性的php加密解密函数代码
- 一个简单的php加密解密函数(动态加密)
- 深入PHP数据加密详解
- PHP写的加密函数,支持私人密钥(详细介绍)
- php实现aes加密类分享