Я просто новичок в RNCryptor, но мне была предоставлена образецная строка, зашифрованная и закодированная base64. Я пытаюсь использовать функцию расшифровки RNCryptor для просмотра строки в виде обычного текста.Расшифровать закодированную base64 и зашифрованную строку aes с использованием RNCryptor
Я попытался следующие:
func decryptStr(_ sample : String){
let sampleBase64Decoded = sample.fromBase64Data()
do {
let decryptedNSData = try RNCryptor.decrypt(data: sampleBase64Decoded!, withPassword: "secretPass")
let decryptedNSString = NSString(data: decryptedNSData, encoding: String.Encoding.utf8.rawValue)
print("decrypted : \(decryptedNSString)")
}
catch let error as NSError {
print("issue decrypting :\(error.localizedDescription)")
}
}
и я называю это так:
decryptStr("R79gQDNTt/0+cjU7pduqfA==")
и fromBase64 выглядит так:
extension String {
func fromBase64() -> String? {
guard let data = Data(base64Encoded: self, options: NSData.Base64DecodingOptions(rawValue: 0)) else {
return nil
}
return String(data: data, encoding: String.Encoding.utf8)!
}
}
Я получаю ошибку connect.RNCryptor.Error error 2. Почему это должно быть? Разве это никак не связано с тем, что строка кодируется как base 64, так и зашифрована?
Правильный пароль.
Как было сделано шифрование? Обратите внимание, что RNCryptor имеет собственный формат, он предназначен для взаимодействия с данными, зашифрованными RNCryptor. – zaph