Хеширование паролей в Go. bcrypt, scrypt.

Ответ

Пароли не хранить в открытом виде; только хеш с солью. В Go: golang.org/x/crypto/bcrypt (GenerateFromPassword, CompareHashAndPassword). Cost задает сложность (10-12 типично). scrypt - альтернатива (более устойчив к ASIC). Не использовать обычный SHA без соли; не использовать MD5. При аутентификации сравнивать хеш с введенным паролем через Compare.

hash, _ := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
err := bcrypt.CompareHashAndPassword(storedHash, []byte(password))
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.