Я пытаюсь расшифровать данные с помощью AES.GCM. Зашифрованные данные работают нормально, но когда я пытаюсь расшифровать данные с использованием того же ключа, выдается ошибка аутентификации. Ниже приведен код для расшифровки
func decryptData(decryptToData:Data,key:SymmetricKey)->String{
var decryptedString:String!
let combinedData = decryptToData // Previous sealed bo
let sealedBoxToOpen = try! AES.GCM.SealedBox(combined: decryptToData)
if let decryptedData = try? AES.GCM.open(sealedBoxToOpen, using: key) {
decryptedString = String(data: decryptedData, encoding: .utf8)!
print(decryptedString)
} else {
print("error",CryptoKitError.self)
// Ouch, doSomething() threw an error.
}
return decryptedString
}
Ниже приведен мой код шифрования
let iv = AES.GCM.Nonce()
var encryptedData :Data!
let key = SymmetricKey(size: .bits128)
func encryptData(encryptString:String,key:SymmetricKey)->Data{
var encryptedData: Data?
do{
let datatoEncrypt1 = encryptString.data(using: .utf8)!
let mySealedBox = try AES.GCM.seal(datatoEncrypt1, using: key, nonce: iv)
encryptedData = mySealedBox.combined
}
catch{
print("Error")
}
return encryptedData
}