pkcs5_pad 补码算法

补码前的数据:b31d2458000000000000865067022840600001
补码后的数据:b31d24580000000000008650670228406000010d0d0d0d0d0d0d0d0d0d0d0d0d

// pkcs5_pad 补码算法

private static function pkcs5_pad($text, $blocksize){   
     $pad = $blocksize - (strlen($text) % $blocksize);   
     return $text . str_repeat(chr($pad), $pad);
}

// 这段代码有问题

public static function remove_pkcs_pad($decrypted)
{
    $dec_s = strlen($decrypted);
    $padding = ord($decrypted[ $dec_s - 1 ]);
    $decrypted = substr($decrypted, 0, - $padding);
    return $decrypted;
}

// 该段代码需要验证

public function remove_pkcs_pad2() 
{
        $complement = substr($decrypted_hex, strlen($decrypted_hex) - 2, 2);
        $complement = base_convert($complement, 16, 10);
        if ($complement < strlen($decrypted_hex)) {   
            $decrypted_hex = substr($decrypted_hex, 0, -1 * $complement * 2);
        }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容