Я новичок в RNCryptor, но мне дали образец строки, которая зашифрована и закодирована в base64. Я пытаюсь использовать функцию расшифровки 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 2. Почему это может быть? Связано ли это каким-либо образом с тем фактом, что строка закодирована как по основанию 64, так и зашифрована?
Пароль правильный.