首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何卸载PKCS#7 / PKCS#5衬垫?

如何卸载PKCS#7 / PKCS#5衬垫?
EN

Stack Overflow用户
提问于 2018-08-19 17:31:29
回答 1查看 1.9K关注 0票数 1

我希望帮助您使用cryptography.hazmat.primitives.padding.PKCS7类。

解密后,我将得到字符串453947000000197708080808,而明文应该是4539470000001977。根据我们的开发团队,纯文本应该用PKCS#5填充。所以我找了这门课,但没能让它开始工作。

我也可以手动完成,方法是把最后两个数字转换成整数,乘以2,然后把字符串从右边切下来。但是,我更愿意使用与我用于解密的包中的函数来解除填充。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-19 17:43:19

您正在看到的字符是二进制字节的十六进制表示形式。在给定值的情况下,有12个字节,以值为8的4个字节结尾。但是,输出有一些严重错误:

  • 对于PKCS#7填充(您可以预期),结果应该是8个字节值的08或4个字节值的04
  • 对于8或16字节的分组密码,结果是16字节;

因此,我希望您忽略了结果的4个字节。否则解密就不会成功: CBC或ECB解密的输入必须是8或16个字节的倍数,否则就会产生错误。

通常,不需要单独执行解填充操作。填充通常配置为欧洲央行或CBC的操作模式。通常,PKCS#7解填充是ECB和CBC的默认设置(例如,在Java和OpenSSL中)。

如果您想知道,我已经描述了PKCS#5和PKCS#7填充这里在站点上的不同之处。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51939932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档