小编md1*_*d12的帖子

在 Swift 中使用 AES.GCM.SealedBox 解密数据

我正在尝试使用 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
}
Run Code Online (Sandbox Code Playgroud)

以下是我的加密代码

let iv = AES.GCM.Nonce()
var encryptedData: Data!
let key = SymmetricKey(size: .bits128)

func encryptData(encryptString: String, key: SymmetricKey) -> Data { …
Run Code Online (Sandbox Code Playgroud)

encryption cryptography sealed aes-gcm swift

6
推荐指数
1
解决办法
3555
查看次数

标签 统计

aes-gcm ×1

cryptography ×1

encryption ×1

sealed ×1

swift ×1