在我的後端側他們創造使用AES算法加密的消息與這一段代碼AES的Java加密16字節與目標C密鑰解密
鍵16字節的密鑰: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, 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字節? – Codo
好吧,現在我們有16 *個字符*和16 *字節*。你如何從字符轉換爲字節? – Codo
並且請顯示迄今爲止您所擁有的Objective-C代碼。並告訴我們「我無法解密信息」的含義。不編譯?它會崩潰嗎?它會產生錯誤的輸出嗎?什麼是輸入,什麼是預期的輸出,什麼是有效的輸出? – Codo