在iPhone和安卓手机上执行的AES加密

3
我们正在Android和iPhone上创建同一个项目。现在的问题是,我们需要使用Web服务以加密形式将用户信息发送到aspx服务器。我们两个都已经实现了它,但结果不同,因此有没有通用的AES加密方法可以产生相同的结果并可以在服务器上解析。
请尽快回复,因为我的工作受到影响。
谢谢。

1
你能否分享一下你写的通用加密代码?我们也在尝试实现同样的功能,但已经卡了两天了。 - Janak Nirmal
嘿,我的伙计和我做到了,请看一下这篇文章https://dev59.com/UXTYa4cB1Zd3GeqPsDmq#19219704 - A.S.
我刚在 https://dev59.com/3Jzha4cB1Zd3GeqPBja1#56178213 发布了一个可接受的答案。 - Julian Corrêa
可能是以下问题的重复:Objective-C中的AES字符串加密 - Julian Corrêa
3个回答

2
您可以考虑在iOS上使用RNCryptor库,在Android上使用JNCryptor库。这两个开源库使用相同的数据格式,并支持基于密码和基于密钥的256位AES加密。
数据格式还包括IV和计算数据的MAC值,因此符合数据加密的最佳实践。

0

AES加密/解密将在提供相同参数的情况下产生相同的结果。 特别感兴趣的是:

  1. 加密密钥值和大小
  2. 模式:CBC,ECB等(您应该使用CBC)
  3. 大多数模式需要初始化向量(iv)
  4. 填充方法:PKCS7等(AES是块密码,需要输入块大小的倍数)

首先选择简单的测试数据,使其正常工作并进入更复杂的情况。 例如:最初选择一个iv为0,CBC,恰好为一个块大小的数据,没有填充。 当这个工作开始添加更多的复杂性。

安全不容易,加密部分是容易的部分。

或者使用SSL。

有关参考和学习,基本上需要了解的所有内容都在应用密码手册中,它是免费(且合法)的PDF下载,也可以购买精装版。 专业人士使用此书,甚至我的妻子在她的工作中也使用。


非常感谢您的回复。但是,先生,我在这个领域非常新手,以前从未进行过加密操作,所以我不知道如何做以及从哪里开始。这段代码在Android中的样子是什么样子的,我该如何在iPhone上实现它?我一片空白。您能否给我提供一些示例或为Android和iPhone提供一些代码片段? - Soniya
先生,Android团队已经在以下链接中使用了这种方法,是否有一种方法可以在iPhone上实现相同的方法或者其他我们可以遵循的方法。http://stackoverflow.com/questions/5277533/aes-key-generation-in-android/7685963#7685963 - Soniya
先生,有没有一个网站可以让我理解一切,包括如何实施,CBC、ECB等的工作原理? - Soniya

0

iOS(CommonCrypto)支持CBC和ECB两种加密模式,其中CBC是默认模式。但不要仅仅依赖于头文件(.h文件),因为在这种情况下,头文件并没有提供默认值。 - zaph
从苹果的头文件CommonCryptor.h中:初始化向量,可选。当启用Cipher Block Chaining(CBC)模式时,块密码使用它。如果存在,则必须与所选算法的块大小相同。如果选择了CBC模式(通过选项标志中缺少kCCOptionECBMode位),并且没有IV,则将使用NULL(全零)IV。 - zaph
先生,Android团队已经在以下链接中使用了这种方法。是否有一种方法可以在iPhone上实现相同的功能或者我们可以遵循其他方法?http://stackoverflow.com/questions/5277533/aes-key-generation-in-android/7685963#7685963我在这个领域非常新手,并且以前从来没有做过加密。因此,我不知道如何做和从哪里开始做。在Android中,这段代码是什么样子的,我该如何在iPhone上实现它。我感到非常茫然。你能不能给我一些例子或提供一些代码片段,适用于Android和iPhone。非常感谢! - Soniya
我查看了这段代码,不幸的是我不熟悉Java安全API,因此无法从中获取任何实际信息。首先,您需要了解这段代码在做什么,获取我回答中的四个要点的答案。 - zaph
先生,有没有一个网站可以让我了解所有的东西,以及如何实现,CBC<ECB是如何工作的等等。 - Soniya
请尝试使用以下内容:kCCOptionPKCS7Padding&kCCModeCBC - Ankit Malhotra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接