//Dede密码加密算法
//加密程序
function DdPwdEncode($pwd,$sign=''){
global $cfg_ddsign;
if($sign=='') $sign = $cfg_ddsign;
$rtstr = '';
$plen = strlen($pwd);
if($plen<10) $plenstr = '0'.$plen;
else $plenstr = "$plen";
$sign = substr(md5($sign),0,$plen);
$poshandle = mt_rand(65,90);
$rtstr .= chr($poshandle);
$pwd = base64_encode($pwd);
if($poshandle%2==0){
$rtstr .= chr(ord($plenstr[0])+18);
$rtstr .= chr(ord($plenstr[1])+36);
}
for($i=0;$i<strlen($pwd);$i++){
if($i < $plen){
if($poshandle%2==0) $rtstr .= $pwd[$i].$sign[$i];
else $rtstr .= $sign[$i].$pwd[$i];
}else{ $rtstr .= $pwd[$i]; }
}
if($poshandle%2!=0){
$rtstr .= chr(ord($plenstr[0])+20);
$rtstr .= chr(ord($plenstr[1])+25);
}
return $rtstr;
}
//解密程序
function DdPwdDecode($epwd,$sign=''){
global $cfg_ddsign;
$n1=0;
$n2=0;
$pwstr='';
$restr='';
if($sign=='') $sign = $cfg_ddsign;
$rtstr = '';
$poshandle = ord($epwd[0]);
if($poshandle%2==0){
$n1 = chr(ord($epwd[1])-18);
$n2 = chr(ord($epwd[2])-36);
$pwstr = substr($epwd,3,strlen($epwd)-3);
}else{
$n1 = chr(ord($epwd[strlen($epwd)-2])-20);
$n2 = chr(ord($epwd[strlen($epwd)-1])-25);
$pwstr = substr($epwd,1,strlen($epwd)-3);
}
$pwdlen = ($n1.$n2)*2;
$pwstrlen = strlen($pwstr);
for($i=0;$i<$pwstrlen;$i++){
if($i<$pwdlen){
if($poshandle%2==0){ $restr .= $pwstr[$i]; $i++; }
else{ $i++; $restr .= $pwstr[$i]; }
}else{ $restr .= $pwstr[$i]; }
}
$restr = base64_decode($restr);
return $restr;
}
这个程序怎么把他运行起来呢,有什么办法,有什么办法来接MD5码的密码