加密就是将一些字符转换为另一个字符串的过程,简单的说就是把大门上锁,并且只有你有开启的钥匙。作为一个程序员都应该有属于自己的加密方式,目前最流行的加密算法就是MD5()加密方式。但是在网站已经有了破解的软件用起来也不是很安全。下面简单的介绍一下自定义的加密函数。
代码如下
“/*加密*/
functionaddcoder($str)
{
$yuan ='abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0';
$jia ='zAy%0Bx+1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a';
if ( strlen($str) == 0) return false;
for($i= 0;$i<strlen($str);$i++)
{
for($j = 0;$j<strlen($yuan);$j++)
{
if($str[$i]==$yuan[$j])
{
$results.=$jia[$j];
break;
}
}
}
return $results;
}
/*解密*/
functionremovecoder($str)
{
$yuan ='abA!c1dB#ef2@Cg$h%iD_3jkl^E:m}4n.o{&F*p)5q(G-r[sH]6tuIv7w+Jxy8z9K0';
$jia ='zAy%0Bx+1C$wDv^Eu2-t3(F{sr&G4q_pH5*on6I)m:l7.Jk]j8K}ih@gf9#ed!cb[a';
If (strlen($str)==0) return false;
for($i = 0;$i< strlen($str);$i++)
{
for($j= 0;$j<strlen($jia);$j++)
{
if($str[$i]==$jia[$j])
{
$results.= $yuan[$j];
break;
}
}
}
return $results;
}
$str= "www.111cn.net";
echo "加密前:".$str."<br >";
$str1=addcoder($str);
echo "加密后:".$str1."<br >";
$str2=removecoder($str1);
echo "解密后:".$str2."<br>";
例子二,利用md5+base64_encode进行编辑处理。
代码如下
<?php
//www.111cn.net
functionpassport_encrypt($txt, $key) {
srand((double)microtime() *1000000);
$encrypt_key =md5(rand(0, 32000));
$ctr = 0;
$tmp = '';
for($i = 0;$i < strlen($txt); $i++){
$ctr = $ctr ==strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $encrypt_key[$ctr].($txt[$i] ^$encrypt_key[$ctr++]);
}
return base64_encode(passport_key($tmp,$key));
}
functionpassport_decrypt($txt, $key) {
$txt= passport_key(base64_decode($txt), $key);
$tmp = '';
for($i = 0;$i < strlen($txt); $i++){
$md5 = $txt[$i];
$tmp .= $txt[++$i] ^ $md5;
}
return $tmp;
}
function passport_key($txt,$encrypt_key) {
$encrypt_key =md5($encrypt_key);
$ctr = 0;
$tmp = '';
for($i = 0; $i < strlen($txt); $i++){
$ctr = $ctr ==strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $txt[$i] ^$encrypt_key[$ctr++];
}
return $tmp;
}
?>