я знаю, что это можно проверить пользователя Windows (например, домен) учетные данные программно с помощью:Подтвердить пароль пользователя с помощью хэша?
LogonUser(username, password)
- from .NET ValidateCredentials(username, password)
- or the SSPI API directly
Там пришло время, когда я хочу упорствовать те credentails.
Я использую Data Protection API (через CredUI API) для шифрования пароля. Это означает, что зашифрованные данные могут быть доступны только самим пользователем. Моя программа, работающая как пользователь, может затем расшифровать защищенные данные.
Но это также означает, что злонамеренная программа, работающая как пользователь, может расшифровать защищенные данные; украсть зашифрованные учетные данные пользователя.
Я знаю, что сама ОС Windows не хранит password
пользователя. То, что они хранят, - это соленая и хешированная версия пароля; и формирует «общий секрет» между пользователем и Windows.
Есть ли API, который позволяет мне спрашивать Windows, если пароль пользователя действителен, когда я знаю соленый хэш пароля?
Это не имеет отношения к вашему вопросу, но я не считаю, что хэши паролей солей в Windows. –