package main import ( "bytes" "fmt" "golang.org/x/crypto/bcrypt" "golang.org/x/term" ) func interactiveHashGen() { fmt.Print("Enter password: ") passwd, err := term.ReadPassword(0) if err != nil { logger.Fatal("\nFailed: ", err) } fmt.Printf("\nAgain: ") passwd2, err := term.ReadPassword(0) if err != nil { logger.Fatal("\nFailed: ", err) } fmt.Println("") if !bytes.Equal(passwd, passwd2) { logger.Fatal("Passwords do not match") } passwd, err = bcrypt.GenerateFromPassword(passwd, bcrypt.DefaultCost) if err != nil { logger.Fatal("Failed: ", err) } fmt.Printf("hash: %s\n", string(passwd)) }