Ios AES Java encryption 16字节密钥解密与Objective-C
在我的后端,他们使用16字节密钥的AES算法创建了加密消息 键:h7Ui63Mzqj61G87jIos AES Java encryption 16字节密钥解密与Objective-C,ios,objective-c,encryption,cryptography,aes,Ios,Objective C,Encryption,Cryptography,Aes,在我的后端,他们使用16字节密钥的AES算法创建了加密消息 键:h7Ui63Mzqj61G87j public static String encrypt(String data, byte[] secretKey) throws Exception { Key key = generateKey(secretKey); Cipher c = Cipher.getInstance(ALGORITHM); c.init(Cipher.ENCRYPT_MODE, ke
public static String encrypt(String data, byte[] secretKey) throws Exception {
Key key = generateKey(secretKey);
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(Cipher.ENCRYPT_MODE, key);
byte[] encVal = c.doFinal(data.getBytes());
String encryptedValue = new BASE64Encoder().encode(encVal);
if (logger.isDebugEnabled()) {
logger.debug(String.format("DataToEncrypt: %s, encryptedValue: %s", data, encryptedValue));
}
return encryptedValue;
}
但我无法使用AES算法解密具有相同密钥的消息。请参阅下面的链接
希望对您有帮助。您的密钥长度为16个字符。如何将其转换为32字节?好的,现在我们有16个字符和16个字节。如何将字符转换为字节?请展示您目前掌握的Objective-C代码。告诉我们“我无法解密消息”是什么意思。它不编译吗?它会崩溃吗?它是否产生了错误的输出?输入是什么,预期的输出是什么,有效的输出是什么?从服务器端,他们用密钥加密消息,在objective-c代码中,不能用相同的密钥解密消息。获取空值。发布相关信息以防链接腐烂。引用的代码使用ECB模式。不要使用ECB模式,它不安全,请参阅,向下滚动到企鹅模式。取而代之的是使用随机IV的CBC模式,只需在加密数据前加上IV的前缀以用于解密,它不需要不保密。