钛AES / CBC / PKCS5Padding

时间:2015-06-25 09:15:46

标签: javascript ios titanium

我已经坚持了2周。有人能告诉我如何在Appcelerator studio for iOS中实现AES / CBC / PKCS5Padding(已经在Android的Java库中构建)?我也尝试过Ti.SlowAES和Crypto JS,但两者都没有PCKS5 Padding。加密代码与Java运行的代码不同。好郁闷。 非常感谢提前。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

如果问题是PKCS#5 vs PKCS#7填充它们是相同的。

唯一的区别在于规范:PKCS#5填充与PKCS#7填充相同,只是它仅为使用64位(8字节)块大小的块密码定义,而PKCS#7是最多可定义255个字节。

答案 1 :(得分:-1)

最终,它已经完成了。如此松了一口气。 因为有人和我有同样的问题,我想做一些基本清楚的事情。 第一件事是PKCS5与PKCS7相同(只是PKCS7的16字节的情况)。 第二件事是在CBC模式下,默认填充是PKCS7(它只是将字节添加到加密字节中以使其%16 = 0),因为AES是对称加密。

我的解决方案适用于SlowAES并进行了一些修改。您只知道AES加密字节。所以无论你输入输入(String),U都必须转换为Bytes加密。然后加密的密码必须从字节转换为字符串。所以使用一些转换功能。 SlowAES的加密字节是正确的。问题只是转换为base64,HexString,...