phpseclib 零字节填充

标签 php encryption phpseclib 3des

如何在EBC模式下使用加密方法3des在phpseclib中添加零字节填充?

这是我当前的代码:

$cipher = new TripleDES(TripleDES::MODE_ECB);
$cipher->setKey('1234567890ABCDEFGHIJKLMN');

最佳答案

只要弄清楚:

  1. 禁用填充:

    $cipher->disablePadding();
    
  2. 手动填充消息:

    $message_padded = $urlencoded;
    if (strlen($message_padded) % 8) {
        $message_padded = str_pad($message_padded,
            strlen($message_padded) + 8 - strlen($message_padded) % 8, "\0");
    }
    
  3. 加密:

    $result = $cipher -> encrypt($message_padded);
    

关于phpseclib 零字节填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54860225/

相关文章:

php - 使用 phpseclib 中的 RSA key 登录失败(超时)

php - 查找日期对象之间的天数

PHPUnit 3.6 PHP 5.2.7 PHP 解析错误 : syntax error, unexpected T_FUNCTION, expecting ')' in/usr/local/bin/phpunit on line 16

PHP邮件阅读器

android - GCMParameterSpec 或类似的 Android API 16 到 18

c# - Python 中 C# 的 GetBytes() 等价于什么?

PHP 将大十进制数转换为十六进制

php - WordPress 页面查询字符串上的 URL 重写

mysql - CF8和AES解密MySQL AES : encodings are not same

php - 用 phpseclib 重启 nic 挂起整个 apache