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
,这对我有用。
我很确定,它在文档中有一对。
无论如何感谢您的回复!
我现在遇到了问题,不知道如何解决。
我写了一个控制器来管理我的用户。下面的代码是我的注册函数的摘录,其中生成了一个密钥,用于加密用户数据,该数据稍后存储在数据库中。密钥 (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
,这对我有用。
我很确定,它在文档中有一对。
无论如何感谢您的回复!