bcrypt — это алгоритм хеширования паролей, обычно используемый в языках программирования, включая Go (Golang). Вот несколько методов Go для работы с bcrypt, а также примеры кода:
-
Создание хеша Bcrypt:
import ( "fmt" "golang.org/x/crypto/bcrypt" ) func main() { password := "myPassword123" hash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) if err != nil { fmt.Println("Error generating bcrypt hash:", err) return } fmt.Println("Bcrypt hash:", string(hash)) }
-
Сравнение пароля с хешем Bcrypt:
import ( "fmt" "golang.org/x/crypto/bcrypt" ) func main() { password := "myPassword123" hashedPassword := "$2a$10$GutbgLdXvJ/1Xl/.jE/0tOJxv0WZyY0mCGoMagvut8C4Wjzmlv1L." err := bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password)) if err != nil { fmt.Println("Invalid password:", err) return } fmt.Println("Password is valid!") }
В этих примерах показано создание хеша bcrypt из простого текстового пароля с помощью bcrypt.GenerateFromPassword
и сравнение пароля с хешем bcrypt с помощью bcrypt.CompareHashAndPassword
.