neoneo-go/cli/input/readpass_windows.go

22 lines
446 B
Go
Raw Permalink Normal View History

2022-05-12 09:06:53 +00:00
//go:build windows
package input
import (
"os"
"syscall"
"golang.org/x/term"
)
// readSecurePassword reads the user's password with prompt.
func readSecurePassword(prompt string) (string, error) {
s, err := term.MakeRaw(int(syscall.Stdin))
if err != nil {
return "", err
}
defer func() { _ = term.Restore(int(syscall.Stdin), s) }()
trm := term.NewTerminal(ReadWriter{os.Stdin, os.Stdout}, prompt)
return trm.ReadPassword(prompt)
}