对称加密

来源:互联网 发布:mac用什么flash player 编辑:程序博客网 时间:2024/05/20 14:18

加密

function encode($string = 'zhangsan', $skey = 'rg1510d') {
    $strArr = str_split(base64_encode($string));
    //var_dump($strArr);
    $strCount = count($strArr);
   // echo $strCount;die;
    foreach (str_split($skey) as $key => $value)
    {
    if($key < $strCount && $strArr[$key])
    {
    $strArr[$key] .= $value;
    }
    }
        //$key < $strCount && $strArr[$key].=$value;
    return str_replace(array('=', '+', '/'), array('O0O0O', 'o000o', 'oo00o'), join('', $strArr));


}


解密

function decode($string = '', $skey = 'rg1510d') {
    $strArr = str_split(str_replace(array('O0O0O', 'o000o', 'oo00o'), array('=', '+', '/'), $string), 2);
    $strCount = count($strArr);
    foreach (str_split($skey) as $key => $value){
        if($key<=$strCount && $strArr[$key][1] === $value){
            $strArr[$key] = $strArr[$key][0];
        }
        //$key <= $strCount  && isset($strArr[$key]) && $strArr[$key][1] === $value && $strArr[$key] = $strArr[$key][0];
    }
    return base64_decode(join('', $strArr));
}

$str = '666,999,000,美好一天';
echo "string : " . $str . " <br />";
echo "加密 : " . ($skey = encode($str)) . '<br />';


echo "解密 : " . decode($skey);