Vapor Crypto:表达式类型 'Data' 在没有更多上下文的情况下不明确

Vapor Crypto: expression type 'Data' is ambiguous without more context

我现在遇到了问题,不知道如何解决。

我写了一个控制器来管理我的用户。下面的代码是我的注册函数的摘录,其中生成了一个密钥,用于加密用户数据,该数据稍后存储在数据库中。密钥 (ekey) 也存储在数据库中。所以我需要加密密钥,因此我使用用户密码的哈希值。

我在最后一行收到这个错误:

Error: AES256GCM.encrypt: expression type 'Data' is ambiguous without more context

我不知道这有什么问题。

// generate key for encrypting data
let ekey = try URandom().generateData(count: 32).base64EncodedString()

// generate digest for password and encrypt 'ekey'
let key: Data = try SHA256.hash(user.password)
let iv: Data = try URandom().generateData(count: 12)
let (encrKey, tag) = try AES256GCM.encrypt(ekey, key: key, iv: iv)

好的,今天我再次查看了代码并将元组 (encrKey, tag) 更改为 encrKey,这对我有用。 我很确定,它在文档中有一对。

无论如何感谢您的回复!