Khabibb Mubarakk Ответов: 1

Хэш-пароль с помощью bcrypt ! когда забыли пароль ?


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

Что я уже пробовал:

tb2.Text = BCrypt.Net.BCrypt.HashPassword(tb1.Text)

1 Ответов

Рейтинг:
0

OriginalGriff

Цитата:
это осуществляется одним способом-хеш ?
Да. Все хэши фактически являются односторонними: они отбрасывают информацию, чтобы получить "уникальное" значение для входных данных.

Цитата:
как насчет того, чтобы администратор забыл пароль ?
Когда вы забываете пароль, вы сбрасываете его на новое значение (и сохраняете хэш этого значения в БД) и отправляете новый пароль пользователю, побуждая его изменить его на тот, который он может запомнить. (Чтобы заставить их сделать это, я использую GUID в качестве нового пароля - никто не хочет пытаться запомнить их, поэтому они довольно быстро сбрасывают значение)

Цитата:
как узнать простой пароль администратора от шифрования пароля?
Вы не можете: все пароли хранятся в виде хэшей, так что никто вообще (кроме пользователя) не имеет ни малейшего представления о том, какой пароль они использовали.


Khabibb Mubarakk

Отправить новый пароль пользователю (администратору)?
Как это сделать? Я делаю dekstop и оффлайн-приложение... Отправить непосредственно в приложение, когда пользователь попросит забыть пароль?? Это выглядит как небезопасно...

Afzaal Ahmad Zeeshan

Вы можете отобразить это в окне сообщения, если это настольное приложение и работает в автономном режиме.

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

OriginalGriff

Обычный способ-отправить его пользователю по электронной почте на его зарегистрированный адрес электронной почты - и истечь срок его действия, если он не будет подтвержден в разумные сроки, - чтобы кто-то, имеющий доступ к приложению, не мог "украсть" учетную запись, не имея доступа и к учетной записи электронной почты.

Khabibb Mubarakk

Точно нужно подключение (онлайн).
Ни один метод не является безопасным в автономном режиме

OriginalGriff

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

Khabibb Mubarakk

В основном я делаю приложение dekstop для автономного пользователя (служба поддержки клиентов)
Я использую базу данных access..
Если я должен сделать это онлайн для отправки пароля на электронную почту... можете ли вы дать мне ссылку, чтобы сделать это?. Извините, если я не в теме .. С одной стороны, приложение нуждается в веб-сайте для такой деятельности, как заказ онлайн.как это можно сделать ?

OriginalGriff

Это сложно, потому что для того, чтобы отправить электронное письмо, вам нужен доступ к системе электронной почты - а это означает наличие идентификатора и (обычно) пароля. После этого все довольно просто:
https://www.codeproject.com/Tips/163829/Sending-an-Email-in-C-with-or-without-attachments

Остальное-совсем другая тема, и вам нужно сначала подумать о том, чего именно вы пытаетесь достичь (подробно), а затем открыть новый вопрос, чтобы охватить его - есть люди гораздо более опытные в интернет-магазинах, чем я.

Khabibb Mubarakk

Оке я решил эту проблему.. Я пытаюсь сохранить соль и хэш-пароль в базе данных n, если администратор забудет pass..я использую smtp для отправки электронной почты администратору.. Я думаю, что это безопасно..