В тех случаях, когда пароль может быть отправлен вам обратно, он не хешируется - он (, надеюсь! ) зашифрован.Хеширование не является обратимым действием в широком смысле.После хеширования единственный способ сравнить что-либо с ним - это хешировать что-то таким же образом и посмотреть, является ли хеш-код одинаковым.Вы никогда не сможете «распаковать» его.
В итоге , это не должно быть открытым текстом.Если они его имеют и могут отправить вам, он должен быть зашифрован .Должны ли они даже хранить зашифрованную версию - это вопрос для консультанта по безопасности для обсуждения.Тем не менее, это может быть открытым текстом.В конце концов, в «паролях» нет ничего особенного, они являются просто символьными строками и могут быть сохранены как таковые - однако, поскольку они образуют важные ключи для защиты вещей, вы надеетесь, что они обрабатываются правильно.
Обычный способ, которым люди думают, что это должно быть сделано, состоит в том, чтобы солить и хэшировать его. Я считаю, что это лучший общедоступный способ, если ваш алгоритм хеширования хорош.Есть вещи, о которых нужно знать, но это выходит за рамки этого ответа.
Лучший способ сохранить пароль в базе данных
Тревожная история:
Однажды у меня был представитель службы поддержки клиентов из провайдера широкополосного доступа в Великобритании, который сказал мне, какой у меня был пароль ... Я немного отрывочен, когда люди хранят мой пароль в обратимом формате, я получаю очень обеспокоен, когда они позволяют этот пароль видеть специалистам по обслуживанию клиентов, которые являются слабым местом в безопасных системах.С тех пор я оставил этого провайдера именно по этой причине.