首页 > 编程语言 > 详细

php-算法

时间:2019-03-18 17:39:07      阅读:132      评论:0      收藏:0      [点我收藏+]

简单对称算法

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-算法

原文:https://www.cnblogs.com/mxyindex/p/10553582.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!