加密和;移动Web服务的解密

时间:2015-04-21 11:05:41

标签: java javascript ios objective-c encryption

我正在使用Android(Native),iOS(Native)和PhoneGap的。为了安全起见,我已经在使用SSL,但根据客户要求,将在所有Web服务(移动端和服务器)中实现另一种加密。但是我无法实现在Java,Objective-C和JavaScript中运行良好的加密。

我可以设法让AES-256在所有平台上运行,但它在Android中工作得非常慢。用于相同的库是RNCryptor。

你能不能向我建议任何至少与Java兼容的加密/解密库。目标C

1 个答案:

答案 0 :(得分:0)

AES-256是正确的选择,不应该是性能问题。大多数cpu芯片都包含允许更快实现的特殊指令,Apple ARM芯片可以像英特尔芯片一样。如果您要声称加密对于实现来说很慢,则需要为所有平台提供测试时间,生成它们并发布它们。

从加密中获得相同的结果,在这种情况下,AES-256只是提供完全相同的输入,具有确切的所需长度和完全相同的选项 - 这就是全部。

提供安全加密不仅仅是密钥,数据和AES-256库。需要有一个iv,如果密钥是一周它需要扩展,密码通常用PBKDF2扩展或类似。这些需要将更多信息添加到传递的加密数据中。还有数据填充,例如PKCS#7。 RNCryptor处理所有这些,但是为了互操作性,要求另一端使用相同的方案。然后是保护加密密钥并与另一方交换密码的问题。