php 字符串加密解密

$string 要加密的字符串
$operation D:解密,E: 加密
$key 加密键值(自定义)

// 字符串加密/解密
function orderSecury($string,$operation,$key=''){   
    $key=md5($key);   
    $key_length=strlen($key);   
    $string=$operation=='D'?base64_decode($string):substr(md5($string.$key),0,8).$string;   
    $string_length=strlen($string);   
    $rndkey=$box=array();   
    $result='';   
    for($i=0;$i<=255;$i++){   
        $rndkey[$i]=ord($key[$i%$key_length]);   
        $box[$i]=$i;   
    }   
    for($j=$i=0;$i<256;$i++){   
        $j=($j+$box[$i]+$rndkey[$i])%256;   
        $tmp=$box[$i];   
        $box[$i]=$box[$j];   
        $box[$j]=$tmp;   
    }   
    for($a=$j=$i=0;$i<$string_length;$i++){   
        $a=($a+1)%256;   
        $j=($j+$box[$a])%256;   
        $tmp=$box[$a];   
        $box[$a]=$box[$j];   
        $box[$j]=$tmp;   
        $result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256]));   
    }   
    if($operation=='D'){   
        if(substr($result,0,8)==substr(md5(substr($result,8).$key),0,8)){   
            return substr($result,8);   
        }else{   
            return'';   
        }   
    }else{   
        return str_replace('=','',base64_encode($result));   
    }   
}  

你可能感兴趣的:(php函数功能应用,php,php,加密解密)