Соль хранится рядом с хешированным паролем. Bcrypt хранит соль внутри самой закодированной строки - там хеш пароля, соль и другие параметры. При проверке пароля, берется эта соль, прибавляется к пришедшему паролю, берется хеш и сверяется с эталонным.
Согласен, дженерики достаточно в сыром варианте вышли и я тоже думал, что их расширят. Например у нас в Озоне мы так и не смогли в многих сервисах переехать на дженерики, так как проект мог просто не собраться.
Да и на практике кроме как math.Max, math.Min, math.Abs в сервисах мало где представляется возможность их использовать по полной
Соль хранится рядом с хешированным паролем. Bcrypt хранит соль внутри самой закодированной строки - там хеш пароля, соль и другие параметры. При проверке пароля, берется эта соль, прибавляется к пришедшему паролю, берется хеш и сверяется с эталонным.
В следующей части будет разбор)
Да, вы правы, CWE-208 в чистом виде! Забыл про него)
Можно добавить проверку фиктивного пароля в случае отсутствия user, тогда, по идее, проблемы не должно быть.
Согласен, дженерики достаточно в сыром варианте вышли и я тоже думал, что их расширят. Например у нас в Озоне мы так и не смогли в многих сервисах переехать на дженерики, так как проект мог просто не собраться.
Да и на практике кроме как math.Max, math.Min, math.Abs в сервисах мало где представляется возможность их использовать по полной