一段php加密解密的代码

yipeiwu_com6年前PHP代码库
<?php  
$key = "This is supposed to be a secret key !!!";  

function keyED($txt,$encrypt_key)  
{  
$encrypt_key = md5($encrypt_key);  
$ctr=0;  
$tmp = "";  
for ($i=0;$i<strlen($txt);$i++)  
{  
if ($ctr==strlen($encrypt_key)) $ctr=0;  
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);  
$ctr++;  
}  
return $tmp;  
}  

function encrypt($txt,$key)  
{  
srand((double)microtime()*1000000);  
$encrypt_key = md5(rand(0,32000));  
$ctr=0;  
$tmp = "";  
for ($i=0;$i<strlen($txt);$i++)  
{  
if ($ctr==strlen($encrypt_key)) $ctr=0;  
$tmp.= substr($encrypt_key,$ctr,1) .  
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));  
$ctr++;  
}  
return keyED($tmp,$key);  
}  

function decrypt($txt,$key)  
{  
$txt = keyED($txt,$key);  
$tmp = "";  
for ($i=0;$i<strlen($txt);$i++)  
{  
$md5 = substr($txt,$i,1);  
$i++;  
$tmp.= (substr($txt,$i,1) ^ $md5);  
}  
return $tmp;  
}  

$string = "Hello World !!!";  

// encrypt $string, and store it in $enc_text  
$enc_text = encrypt($string,$key);  

// decrypt the encrypted text $enc_text, and store it in $dec_text  
$dec_text = decrypt($enc_text,$key);  

print "Original text : $string <Br>n";  
print "Encrypted text : $enc_text <Br>n";  
print "Decrypted text : $dec_text <Br>n";  
?>

相关文章

PHP Squid中可缓存的动态网页设计

当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since ....

PHP封装的分页类与简单用法示例

PHP封装的分页类与简单用法示例

本文实例讲述了PHP封装的分页类与简单用法。分享给大家供大家参考,具体如下: 分页类的封装如下: page.php <?php //showPage(页号,总页数,分隔...

PHP截取IE浏览器并缩小原图的方法

本文实例讲述了PHP截取IE浏览器并缩小原图的方法。分享给大家供大家参考,具体如下: // 截取一个窗口 Capture a window (IE for example) $ie...

phpstorm 正则匹配删除空行、注释行(替换注释行为空行)

phpstorm 正则匹配删除空行、注释行(替换注释行为空行)

使用phpstorm 来编写php 和javascript 代码,感觉还是不错的,用得也很舒服。 遇到了一个需求,有时候在阅读框架源代码的时候 , 想过滤(删除)掉源代码中的注释行,如果...

php使用array_search函数实现数组查找的方法

本文实例讲述了php使用array_search函数实现数组查找的方法。分享给大家供大家参考。具体实现方法如下: <?php $array = array(4,5,7,...