美文网首页PHP Chaos
pkcs5_pad 补码算法

pkcs5_pad 补码算法

作者: xiaojianxu | 来源:发表于2016-11-10 18:06 被阅读15次

补码前的数据: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);
        }
}

相关文章

  • pkcs5_pad 补码算法

    补码前的数据:b31d2458000000000000865067022840600001补码后的数据:b31d2...

  • 汇编

    补码 在求补码 得真值

  • 关于补码_2019-03-29

    整数的补码正数的补码正数的补码等于源码负数的补码负数的补码:源码中符号位保持不变,其余各位取反后再加1 小数小数的...

  • 算法(一 原码,反码和,补码)

    一, 机器数和真值 机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数. 用二进制数的最高位存放符号,正数...

  • 2018-10-22 Python31 原码、反码、补码

    原码、反码、补码 1)如何计算补码?规则: 正数:原码 = 反码 = 补码负数:反码 = 符号位不变,其他位取反补...

  • 原码,反码,补码杂谈

    本文从原码讲起。通过简述原码,反码和补码存在的作用,加深对补码的认识。力争让你对补码的概念不再局限于:负数的补码等...

  • 原码、反码、补码和移码

    书中关于原码、反码、补码和移码的定义如下(n是机器字长):原码: 反码: 补码: 移码: 原码, 反码, 补码的基...

  • Java中的非运算~

    涉及到的概念:原码、补码涉及到的公式: (1)正数的原码 = 补码;(2)负数的 补码 = ( 原码 - 1 )再...

  • 数值是以补码表示的

    正数的补码与原补码相同 负数的补码:将该数的绝对值的二进制数按位取反后再加1 例如:求-10的补码 10的原码: ...

  • int数字的表示

    在计算机中int型数字使用补码的形式在存储。首先说明补码的计算方式。正数和零的补码就是他们本身。负数的补码是符号位...

网友评论

    本文标题:pkcs5_pad 补码算法

    本文链接:https://www.haomeiwen.com/subject/vilxpttx.html