Как хешировать пароли в Go?

Junior
824 просмотров
AFK Offer AI

Используешь пакет golang.org/x/crypto/bcrypt. Для хеширования: hash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost). Для проверки: err := bcrypt.CompareHashAndPassword(hash, []byte(password)) — если err == nil, пароль верный. Никогда не храни пароли в открытом виде и не используй MD5/SHA для этого — они слишком быстрые и подбираются перебором. bcrypt специально медленный и включает соль автоматически. DefaultCost = 10, можно увеличить для повышения безопасности, но тогда каждая проверка будет дольше.

Следующий вопрос

Как работает memory alignment в Go?