RNCryptor / JNCryptor - 解密ios中的字符串,在android中加密

时间:2014-11-13 06:05:06

标签: android ios encryption rncryptor jncryptor

Hellp All,

我已经使用RNCryptor / JNCryptor for iOS和android以下是Android中的加密代码和iOS中的Decrypt。

加密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

我正在使用相同的刺痛"密码"作为双方的密码。

如果有任何人有任何想法,请告诉我,如果我遗失任何东西。

1 个答案:

答案 0 :(得分:1)

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

我的iOS RNcryptor库版本是v2.2

Android版本1.2.0