在Iphone和Android上都进行了AES加密

时间:2011-10-05 10:41:44

标签: android iphone

我们正在android和iphone中创建相同的项目。现在问题是我们需要使用加密形式的webservice将用户信息发送到aspx服务器。我们都实现了它,但结果是不同的,所以有一个共同的AES加密方法,它将产生相同的结果,并可以在服务器上解析。

请尽快回复,因此我的工作受到影响。

提前致谢

3 个答案:

答案 0 :(得分:2)

您可以考虑使用适用于iOS的RNCryptor library和适用于Android的JNCryptor library。两个开源库都使用相同的数据格式,并支持使用256位AES进行基于密码的加密和基于密钥的加密。

数据格式还包括IV和跨数据计算的MAC值,因此它符合数据加密的最佳实践。

答案 1 :(得分:0)

AES加密/解密将产生相同的结果,它提供相同的参数。特别感兴趣的是

  1. 加密密钥值和大小
  2. 模式:CBC,ECB等(您应该使用CBC)
  3. 大多数模式需要初始化向量(iv)
  4. 填充方法:PKCS7等(AES是块密码,需要输入 在块大小的倍数)
  5. 首先选择简单的测试数据,让它工作并进入更复杂的情况。例如:最初选择全0,CBC的iv,只有一个块大小的数据,没有填充。当这工作开始增加更多的复杂性。

    安全性并不容易,加密部分很容易。

    或使用SSL。

    为了参考和学习,基本上需要知道的是Handbook of Applied Cryptography这是一个免费(和合法)的PDF下载,也可以购买精装版。专业人士使用这本书,甚至是我妻子的工作。

答案 2 :(得分:0)

我在java和iOS上使用AES加密时遇到了类似的问题,请查看我的问题和答案,也许它可以帮到你,ECB模式只支持iOs

Objective-c AES encryption doesn't look like java AES encryption