1

帮助所有,

我在 iOS 和 android 中使用了 RNCryptor/JNCryptor,下面是在 Android 中加密和在 iOS 中解密的代码。

在 Android 中加密代码

public static String EncryptMessage(String message)
{
JNCryptor cryptor = new AES256JNCryptor();
byte[] plaintext = message.getBytes();
byte[] ciphertext = null;

try {
ciphertext = cryptor.encryptData(plaintext,Constants.ENCRYPTION_KEY.toCharArray());
} catch (CryptorException e) {
// Something went wrong
e.printStackTrace();
}

return  Base64.encodeBytes(ciphertext);
}

在 iOS 中解密代码

 NSData *fromAData =     [@"AwEche05IIj/OYEN5brgF/p6jyfKfARJliUQwEwa2lko40+ScPMumlDSIZWB2O6XRZjIucXVbggieWaHb2x6sJkYYt7tn3k17V5Jd5PAnkIoFA==" base64DecodedData];

NSData *fromADecryptedData = [RNDecryptor decryptData:fromAData withSettings:kRNCryptorAES256Settings password:@"password" error:&decryptionError];
NSLog(@"decryptionError %@", decryptionError);
NSLog(@"Result = %@", fromPHPDecryptedData);
NSLog(@"Result = %@", [[NSString alloc] initWithData:fromADecryptedData encoding:NSUTF8StringEncoding]);

我也试过用密码简单解密

 NSData *fromADecryptedData = [RNDecryptor decryptData:fromAData withPassword:@"password" error:&decryptionError];

获取未知标头的错误,错误代码=2

我在两边都使用相同的刺“密码”作为密码。

如果有人有任何想法,请让我知道我是否遗漏了什么。

4

1 回答 1

2

一旦我在我的 iOS 中更新了我的 RNcryptor 库,它就起作用了......

我的 iOS RNcryptor 库版本是 v2.2

安卓版本 1.2.0

于 2014-11-13T06:19:41.210 回答