xor与base64结合的加密解密函数

来源:互联网 发布:网络歌手排行榜 编辑:程序博客网 时间:2024/06/08 06:38
<?php//xor与base64加密函数header('Content-type:text/html;charset=utf-8');function encrypt($str,$key){   $key=md5($key);   $k=md5(rand(0,100));//相当于动态密钥   $k=substr($k,0,8);   $tmp="";   for($i=0;$i<strlen($str);$i++){    $tmp.=substr($str,$i,1) ^ substr($key,$i,1);   }   return base64_encode($k.$tmp);}  //xor与base64解密函数function decrypt($str,$key){   $len=strlen($str);   $key=md5($key);   $str=base64_decode($str);   $str=substr($str,8,$len-8);   $tmp="";   for($i=0;$i<strlen($str);$i++){    $tmp.=substr($str,$i,1) ^ substr($key,$i,1);   }       return $tmp;}  $str = 'danny'; //要加密的字符串$key = 'zoe'; //盐值$encrypt_str = encrypt($str,$key);$decrypt_str = decrypt($encrypt_str,$key);echo '加密前的字符串是:'.$str.'<br>';  //加密前的字符串是:dannyecho '加密后的字符串是:'.$encrypt_str.'<br>';  //加密后的字符串是:YTY4NGVjZWUHWVYPTw==(随机变化)echo '解密后的字符串是:'.$decrypt_str; //解密后的字符串是:danny
0 0
原创粉丝点击