RNCryptor/JNCryptor - расшифровать строку в ios, которая зашифрована в android

Всем привет,

Я использовал RNCryptor/JNCryptor для iOS и Android. Ниже приведен код для шифрования в 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

Я использую один и тот же «пароль» в качестве пароля с обеих сторон.

Если у кого-то есть идеи, пожалуйста, дайте мне знать, если я что-то упустил.


person Satish    schedule 13.11.2014    source источник


Ответы (1)


Это сработало, как только я обновил свою библиотеку RNcryptor в своей iOS...

Моя версия библиотеки iOS RNcryptor — v2.2.

Android версии 1.2.0

person Satish    schedule 13.11.2014
comment
Мы использовали модуль Android RNcryptor. Не поддерживал последнюю версию Android Studio 3.6.3 и не обновлял последнюю версию ОС. Пожалуйста помогите. stackoverflow.com/questions/62407092/ - person Manikandan K; 16.06.2020