加密解密类

博客可能围绕PHP开发语言进行解密相关内容探讨,涉及算法运用。虽内容仅给出时间信息,但结合标题和标签可推测核心与PHP解密有关。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间:2020-07-22 10:28:28

class Cdeshort
{
    private static $num62 = 'gkQoNXs6Wu0aYrVLhS7iFE5JzZCcd8OeBRGxI3Kv2mtDyqPTfMl1Hpwbn4jUA9';//不可修改    
 
    /**解码**/
    public static function any2Dec($number, $fromRadix = 62)
    {
        $dec = 0;
        $num62 = self::$num62;
        $len = strlen($number) - 1;
        for ($t = 0; $t <= $len; $t++) {
            $dec = bcadd(bcmul($dec, $fromRadix), strpos($num62, $number[$t]));
        }
        return $dec;
    }
 
    /**编码**/
    public static function dec2Any($dec, $toRadix = 62)
    {
 
 
        $num62 = self::$num62;
        if ($toRadix < 2 || $toRadix > 62) {
            $toRadix = 2;
        }
        if ($toRadix == 10) {
            return $dec;
        }
        // -Long.MIN_VALUE 转换为 2 进制时长度为65
        $buf = array();
        $charPos = 64;
        $isNegative = $dec < 0;
        if (!$isNegative) {
            $dec = -$dec; // bcsub(0, $dec);
        }
 
        while (bccomp($dec, -$toRadix) <= 0) {
            $buf[$charPos--] = $num62[-bcmod($dec, $toRadix)];
            $dec = bcdiv($dec, $toRadix);
        }
        $buf[$charPos] = $num62[-$dec];
        if ($isNegative) {
            $buf[--$charPos] = '-';
        }
        $_any = '';
        for ($i = $charPos; $i < 65; $i++) {
            $_any .= $buf[$i];
        }
        return $_any;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值