This recipe shows how to obfuscate the password when user is typing the password.
package p1
import (
"fmt"
"log"
"os"
"golang.org/x/crypto/ssh/terminal"
)
func getPassword() string {
fmt.Println("\nPassword: ")
// https://godoc.org/golang.org/x/crypto/ssh/terminal#ReadPassword
// terminal.ReadPassword accepts file descriptor as argument, returns byte slice and error.
passwd, e := terminal.ReadPassword(int(os.Stdin.Fd()))
if e != nil {
log.Fatal(e)
}
// Type cast byte slice to string.
return string(passwd)
}