gpt4 book ai didi

ios - 带有 iso10126 填充的 iOS 上的 AES256 解密

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:12:31 25 4
gpt4 key购买 nike

我需要能够从不受控制的服务器中解密带有 iso10126 填充的 AES256 加密数据 block 。 CCCrypt 似乎只支持“kCCOptionECBMode”和“kCCOptionPKCS7Padding”作为选项,因此 CommonCrypto 库似乎无法满足我的需求。什么是最佳解决方案?

我还希望能够使用 iso7816 和 iso10126 填充,但它们的优先级较低。我知道这些填充选项被认为“可能不安全”,但由于我无法控制数据源,我仍然希望能够使用这些设置进行解密。

我相当确定这些 AES 加密的数据片段是由 CryptoJS javascript 库加密的(它具有上面提到的所有填充选项)。我知道我可以通过 UIWebView 使用这个库并在 Objective-C 中返回结果,但我想要比 javascript 库可以提供的更快的速度。

谢谢!

最佳答案

填充是您实际上可以自己编程的这些东西之一(与许多其他加密算法不同)。只需在没有任何填充的情况下解密,然后自己进行 unpadding 以获得纯文本。如果加密,显然是先填充,再加密。几乎所有的库都支持类似“NoPadding”的东西。您可以通过查看 Wikipedia page 来简单地了解所有填充模式的工作方式。 .

请注意,您始终为给定模式填充/取消填充。因此,您可能必须添加一个完整的填充字节 block 。

请注意,ISO 7816 填充实际上并不存在。它是 ISO/IEC 9797-1 填充方法 2,用于字节而不是任意数量的位。它在 ISO/IEC 7816-4 中用于(未定义)安全消息传递(信息性)这一事实并不使其成为该标准的一部分。

无填充的其他问题/答案: iOS encryption AES128/CBC/nopadding why is not working?此链接应向您展示如何使用 iOS API 执行无填充加密/解密。

关于ios - 带有 iso10126 填充的 iOS 上的 AES256 解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14057368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com