1. 程式人生 > >php-算法

php-算法

spl func 返回 arr mime isset 簡單 nbsp join

簡單對稱算法

class Symmetry
{
    /**
     * 簡單對稱加密算法之加密
     * @param String $string 需要加密的字串
     * @param String $skey   加密EKY
     * @return String
     */
    public static function encode($string = ‘‘, $skey = cxphp)
    {
        //先使用 MIME base64 對數據進行編碼後的字符串轉換為數組
        $strArr   = str_split(base64_encode($string
)); //計算數組中單元數目 $strCount = count($strArr); //拼接上加密KEY foreach (str_split($skey) as $key => $value) { $key < $strCount && $strArr[$key] .= $value; } //替換字符返回加密字符串 return str_replace(array(=, +, /), array(O0O0O,
o000o, oo00o), join(‘‘, $strArr)); } /** * 簡單對稱加密算法之解密 * @param String $string 需要解密的字串 * @param String $skey 解密KEY * @return String */ public static function decode($string = ‘‘, $skey = cxphp) { //反替換字符串,在變為數組 $strArr = str_split(str_replace(array(
O0O0O, o000o, oo00o), array(=, +, /), $string), 2); $strCount = count($strArr); foreach (str_split($skey) as $key => $value) { $key <= $strCount && isset($strArr[$key]) && $strArr[$key][1] === $value && $strArr[$key] = $strArr[$key][0]; } return base64_decode(join(‘‘, $strArr)); } }

php-算法