#angular #security #hash
Вопрос:
Я хотел бы создать страницу регистрации и входа в свой проект angular 12. Поэтому мне нужно посолить и поперчить, а затем хэшировать свой пароль. Я искал несколько примеров, но все они были для javascript, но мне это нужно для машинописи.
Когда пароль защищен, Angular должен отправить его с http-запросом на серверную часть (Spring Boot).
У кого-нибудь есть идеи, как я мог бы это решить?
Ответ №1:
Вам не нужно хэшировать пароли на стороне клиента. Большая часть полезной защиты, которую вы получаете от этого, обеспечивается путем связи по протоколу HTTPS с вашим бэкэндом (при условии, что используемый вами центр сертификации является надежным и ваша сеть не скомпрометирована). Это связано с тем, что кто-то, кто может прочитать ваши пакеты до шифрования, скорее всего, имеет доступ к вашей машине и может просто ввести ваш пароль, что делает хэширование бесполезным. Вам действительно нужно хэшировать свои пароли перед сохранением их в базе данных, чтобы утечка данных не приводила к необработанным паролям.
Комментарии:
1. Значит, мне просто нужно хэшировать его на бэкэнде?
2. Да, это распространенное заблуждение при создании безопасного приложения. В большинстве случаев, если кто-то прошел HTTPS, вы можете предположить, что на стороне клиента вы ничего не можете сделать для обеспечения безопасности, кроме как удалить злоумышленника из вашей сети/компьютера.