PHP的加密和解密程序方法

作者:网络 来源:佚名 更新时间:2008-10-18 21:32:20 点击:
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"; 
?>