Vapor Crypto: тип выражения «Данные» неоднозначен без дополнительного контекста - PullRequest
0 голосов
/ 15 октября 2018

У меня сейчас проблема, и я не знаю, как ее решить.

Я написал контроллер для управления своими пользователями.Следующий код является выдержкой из моей функции регистрации, где генерируется ключ для шифрования пользовательских данных, которые впоследствии сохраняются в базе данных.Ключ (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)

1 Ответ

0 голосов
/ 24 октября 2018

Хорошо, сегодня я снова просмотрел код и изменил число (encrKey, tag) на encrKey, и это сработало для меня.Я совершенно уверен, что это было в документе с трупом.

В любом случае, спасибо за ваши ответы!

...