以文本方式查看主题

-  西安网站建设|西安网站制作|西安做网站_网站知识交流论坛  (http://www.029900.com/bbs/index.asp)
--  网络编程学习  (http://www.029900.com/bbs/list.asp?boardid=5)
----  [分享]实现php加密/解密代码  (http://www.029900.com/bbs/dispbbs.asp?boardid=5&id=154)

--  作者:longlong
--  发布时间:2010/1/4 12:56:55
--  [分享]实现php加密/解密代码

php加密/解密代码

 

php中怎么实现加密和怎么实现解密里。其实很简单。php有很多函数给大家用。今天就简单的写一段代码给大家。代码入邪 以下是代码片段:
<?php
$key = "www.029900.com!!!";
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 = "029900.com!!!";
//加密并把加密的值给$enc_text
$enc_text = encrypt($string,$key);
//解密并把加密的值给$dec_text

$dec_text = decrypt($enc_text,$key);

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