【发布时间】:2015-06-25 09:15:45
【问题描述】:
我已经坚持了 2 周。谁能告诉我如何在 iOS 的 Appcelerator 工作室中实现 AES/CBC/PKCS5Padding(已经内置在 Android 的 Java 库中)?我也尝试了 Ti.SlowAES 和 Crypto JS,但两者都没有 PCKS5 填充。加密的代码与 Java 运行的代码不同。好郁闷。 非常感谢提前。任何帮助表示赞赏。
【问题讨论】:
标签: javascript ios titanium
我已经坚持了 2 周。谁能告诉我如何在 iOS 的 Appcelerator 工作室中实现 AES/CBC/PKCS5Padding(已经内置在 Android 的 Java 库中)?我也尝试了 Ti.SlowAES 和 Crypto JS,但两者都没有 PCKS5 填充。加密的代码与 Java 运行的代码不同。好郁闷。 非常感谢提前。任何帮助表示赞赏。
【问题讨论】:
标签: javascript ios titanium
如果问题是 PKCS#5 和 PKCS#7 填充,它们是相同的。
唯一的区别在于规范:PKCS#5 填充与 PKCS#7 填充相同,只是它仅针对使用 64 位(8 字节)块大小的块密码定义,而 PKCS#7 是定义为最多 255 个字节。
【讨论】:
最终,它完成了。所以放心了。 对于有人和我有同样的问题,我想把一些基本的东西说清楚。 首先是 PKCS5 与 PKCS7 相同(只是 PKCS7 的 16 字节的情况)。 第二件事是在 CBC 模式下,默认填充是 PKCS7(它只是将字节添加到加密字节中使其 %16=0),因为 AES 是对称加密。
我的解决方案通过一些修改与 SlowAES 一起使用。您只需了解 AES 加密字节。所以无论你输入输入(字符串),你都必须转换为字节来加密。然后加密的密码必须从字节转换为字符串。所以使用一些转换功能。 SlowAES 加密的字节是正确的。问题只是转换为base64,HexString,...
【讨论】: