Javascript 钛AES/CBC/PKCS5P添加

Javascript 钛AES/CBC/PKCS5P添加,javascript,ios,titanium,Javascript,Ios,Titanium,我已经坚持了两个星期了。有谁能告诉我如何在Appcelerator studio for iOS中实现AES/CBC/PKCS5Padding(它已经内置于Android的Java库中)吗?我也尝试了Ti.SlowAES和Crypto-JS,但两者都没有PCKS5填充。加密的代码与Java运行的代码不同。太沮丧了。 先谢谢你。非常感谢您的帮助。如果问题是PKCS 5与PKCS 7,则它们是相同的 唯一的区别在于规范:PKCS#5填充与PKCS#7填充相同,不同之处在于它仅为使用64位(8字节)块

我已经坚持了两个星期了。有谁能告诉我如何在Appcelerator studio for iOS中实现AES/CBC/PKCS5Padding(它已经内置于Android的Java库中)吗?我也尝试了Ti.SlowAES和Crypto-JS,但两者都没有PCKS5填充。加密的代码与Java运行的代码不同。太沮丧了。 先谢谢你。非常感谢您的帮助。

如果问题是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、…

谢谢。你有什么建议让我使用Ti.SlowAES吗?我不会使用Ti.SlowAES,原因如下:1。没有关于它的使用的文档,人们不应该阅读代码来了解如何使用它。2.互操作性中没有文档。3.它使用未记录的密钥扩展。4.它是JS中的一个实现,尚未经过认证。5.它可能有bug和/或后门。6.查找至少满足项目1-3的库。CBC模式与PKCS7无关,它们不相关。您可以使用带或不带PKCS7的CBC模式,PKCS7可以与ECB模式一起使用。PKCS7添加值为已添加字节数的字节,如果输入是块大小的倍数,则添加额外的块。看见CBC模式使用iv(初始化向量),许多实现提供所有0x00值的默认值,并用0x00值填充短iv。最好是显式提供一个iv。Hi Trang,我需要在我的ios应用程序中使用aes解密,但我不知道如何解密,所以请告诉我如何一步一步地解密数据?非常感谢。