phpseclib零字节填充
如何在EBC模式下使用加密方法3des在phpseclib中添加零字节填充 以下是我当前的代码:phpseclib零字节填充,php,encryption,phpseclib,3des,Php,Encryption,Phpseclib,3des,如何在EBC模式下使用加密方法3des在phpseclib中添加零字节填充 以下是我当前的代码: $cipher = new TripleDES(TripleDES::MODE_ECB); $cipher->setKey('1234567890ABCDEFGHIJKLMN'); 想想看: 禁用填充: $cipher->disablePadding(); 手动输入消息: $message_padded = $urlencoded; if (strlen($message_padd
$cipher = new TripleDES(TripleDES::MODE_ECB);
$cipher->setKey('1234567890ABCDEFGHIJKLMN');
想想看:
$cipher->disablePadding();
$message_padded = $urlencoded;
if (strlen($message_padded) % 8) {
$message_padded = str_pad($message_padded,
strlen($message_padded) + 8 - strlen($message_padded) % 8, "\0");
}
$result = $cipher -> encrypt($message_padded);
怎么样
$cipher->enablePadding()代码>?由于TripleDES
extendsDES
extendsBlockCipher
extendsSymmetricKey
,您可以使用SymmetricKey
类中定义的启用填充()。但实际上没有尝试。我们可以在enablePadding方法中自定义填充字符吗?例如$cipher->enablePadding('\0');你的方法看起来不错,但你为什么要这么做?顺便说一句,你可以添加一个新的方法来包装上述代码,这样你就可以很容易地重用定制的填充方法。因为有一个服务(合作伙伴)需要上述加密方法。2.我试试看,谢谢你的建议