2017-02-06 4 views
1

В приложении C# MVC, использующем метод входа OAuth, как вы получите дешифрованный пароль для текущего зарегистрированного пользователя?Получить текущее имя пользователя и пароль от OAuth

Я знаю

User.Identity.GetUserName()

Получает имя пользователя, но, в таблице AspNetUseres столбец PasswordHash с хеширован паролем, и я хочу, чтобы иметь возможность извлеките это и расшифруйте его, если это необходимо в приложении. Я могу получить хешированную строку в порядке, но не знаю, как ее преобразовать в текст ...

+0

Читайте это: http://plaintextoffenders.com/faq/devs –

ответ

1

Вы не можете. Весь смысл хэширования заключается в том, чтобы затенять данные таким образом, чтобы вы могли его проверить, но не можете увидеть фактическое значение.

Чтобы иметь возможность шифровать/дешифровать значения, вам необходимо настроить шифрование паролей, а не хеширование.

Но вы не должны расшифровывать пароли пользователей в любом случае. Если вы хотите указать , почему вам нужен пароль, возможно, кто-то здесь может предложить альтернативный способ получить то, что вы хотите.

+1

Привет, Джей, я хотел использовать имя пользователя и пароль пользователя для создания входа T-SQL для своей базы данных, а также использовать его как логин в строке соединения. – RobboLew

+0

@ RobboLew: вы действительно этого не хотите, пересмотреть свой подход, чтобы не требовать дополнительного входа в SQL для каждого пользователя, регистрирующегося в вашем приложении. Я почти не думаю о каком-либо реальном сценарии, где этого нельзя избежать. –

Смежные вопросы