170 похожих чатов

Добрый вечер всем. Вопрос : 1. Я от фронта принимаю пароль

при аутентификации, хеширую в sha256 и записываю хеш в базу, отдаю пару jwt
2. Возник вопрос: а с фронта пароль в чем приходит? Какая практика считается "стандартной" ?

33 ответов

24 просмотра

если делаете сами: 1) при авторизации пользователь на своей стороне хеширует пароль солью, и через асимитричное шифрование (простого rsa хватит) передает хэш+соль на сервер 2) сервер сохраняет соль + хэш в базу, при этом не зная совершенно, какой был реальный пароль, да это в общем то и не нужно. 3) при авторизации, сервер шлет клиенту сессионную соль, которую оба будут использовать, клиент повторно хеширует свой хеш, с сессионной солью и отправляет на сервер в открытом виде 4) сервер делает то же самое и сверяется. итог: mitm невозможен априори, если обезопасить открытый ключ, и клиент и сервер оба могут чекнуть пароль, даже его никогда не увидев.

Александр Костюченко
Мы авторизуемся с помощью jwt

а какая разница, если все равно пароль надо передавать? у вас по ключу или по паролю аутентификация проходит?

scrypt/bcrypt. Не используйте голые хэши

Александр Костюченко
по паролю, https

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

c
кто его перехватит?

если использовать хеш без соли, то можно просто хеш передавать серверу и им авторизовываться

Richard Cooper
если использовать хеш без соли, то можно просто хе...

еще раз, кто перехватит плейнтекст пароль через https?

вариантов всего два: 1. на сервере хранится хеш, пароль ходит в открытом виде (по шифрованному каналу, если не тупить) 2. пароль ходит хешированным (digest-аутентификация). проблема в том, что хранить его тогда надо в открытом виде

c
еще раз, кто перехватит плейнтекст пароль через ht...

эмммм, скам-прокси? я сам так делал и не раз)

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
Внутренний нарушитель

внутреннему нарушителю пароль не нужен

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
Внутренний нарушитель

приведете кейс? я не понимаю просто

c
внутреннему нарушителю пароль не нужен

Зависит от доступов. Возможно он может только снифать трафик, но не имеет доступа на сервер

Александр Костюченко
приведете кейс? я не понимаю просто

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

Richard Cooper
подмена сертификатов на устройстве, проблематично,...

> подмена сертификатов на вай-фай точке > подмена сертификатов на устройстве че

Richard Cooper
подмена сертификатов на устройстве, проблематично,...

Проще тогда на редирект и забрать пароль, а потом трафик скопировать

Richard Cooper
если делаете сами: 1) при авторизации пользовател...

вот так вот можно и другими способами, но я других не видел

Richard Cooper
вот так вот можно и другими способами, но я други...

и что это даст? вариантов, повторю, два или пароль ходит в открытом виде, или он хранится на сервере в открытом виде

Daniel Podolsky
и что это даст? вариантов, повторю, два или паро...

так стоп, мы кажется о разном говорим: а почему на сервере нельзя хранить не сам пароль "some_password" а его хеш "51348ab117bad55f0ea40090f07acfa3"?

Richard Cooper
так стоп, мы кажется о разном говорим: а почему н...

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

Daniel Podolsky
и что это даст? вариантов, повторю, два или паро...

второй вариант выглядит как единая точка теоритического глобального краха)))

Richard Cooper
неправда.

нет, правда. можете попробовать доказать обратное, рапсписав алгоритм

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта