我需要知道如何使用带有iPhone中指定密钥的AES 256位算法加密字符串,以便加密字符串可以用Java解密。
目标是将该字符串从iPhone安全地传输到网络服务器。
答案 0 :(得分:0)
也许您需要编译openssl,尝试此tuto http://www.x2on.de/2010/07/13/tutorial-iphone-app-with-compiled-openssl-1-0-0a-library/或使用CCCryptor查看this post,存在大量有关此主题的信息。
我个人使用openssl做类似的工作。
干杯!
答案 1 :(得分:0)
我对iPhone的解释不太了解第一部分。
对于第二部分,如果正确指定了所有内容,则应该很容易在Java中解密。使用AES-256是一个良好的开端。明确指定CBC模式和PKCS7填充。使用随机IV,显然是一个密钥。
在Java端,请确保使用相同的:AES-256在CBC模式下使用PKCS7填充。使用相同的IV和相同的密钥。 IV可以“清楚地”发送,许多系统将它添加到密文。您需要一种方法将密钥安全地传输到目的地。
确保您知道何时处理字节以及何时处理文本。您可以使用Base64将字节转换为文本。如果您确实使用了文本,请确保双方对传输的文件使用相同的文本编码,优先使用UTF-8。