如何取消包装PKCS 7/PKCS 5填充?

2024-07-02 12:43:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想寻求有关使用cryptography.hazmat.primitives.padding.PKCS7Python类的帮助。在

解密后,我得到了字符串453947000000197708080808,当明文应该是4539470000001977。根据我们的开发团队,明文应该用PKCS#5填充填充。所以我找了这门课,但没能用上。在

我也可以手工操作,取最后2位数字,将它们转换成整数,再乘以2,然后从右边开始将字符串除以该数字。但是,我更喜欢使用解密时使用的同一个包中的函数来取消添加。在


Tags: 函数字符串数字整数团队cryptographypaddingpkcs
1条回答
网友
1楼 · 发布于 2024-07-02 12:43:56

您看到的字符是二进制字节的十六进制表示。你得到的是12个给定值的字节,以值为8的4个字节结尾。然而,该输出存在一些严重错误:

  • 对于您所期望的PKCS#7填充,结果应该是值为08的八个字节或值为04的四个字节
  • 对于一个8字节或16字节的分组密码,结果应该是16字节

因此,我希望您遗漏了4个字节的结果。否则解密将不会成功:CBC或ECB解密的输入设置为8或16字节的倍数,否则将生成错误。在

一般来说,取消添加不必单独执行。对于ECB或CBC操作模式,填充通常配置为。在unpcs和pk7中通常添加ssl和pkc。在


如果你想知道,我已经在网站上描述了PKCS#5和PKCS#7填充here之间的区别。在

相关问题 更多 >