From a02e8853709fecb308d32899b167ba71c91d1c6c Mon Sep 17 00:00:00 2001 From: Jannis Mattheis Date: Fri, 9 Oct 2020 13:49:53 +0200 Subject: [PATCH] Use stderr for password prompt Fixes #12 --- cmd/hash.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cmd/hash.go b/cmd/hash.go index 7fc67ca..d06b1fe 100644 --- a/cmd/hash.go +++ b/cmd/hash.go @@ -2,9 +2,12 @@ package cmd import ( "fmt" + "os" "syscall" + "github.com/rs/zerolog" "github.com/rs/zerolog/log" + "github.com/screego/server/logger" "github.com/urfave/cli" "golang.org/x/crypto/bcrypt" "golang.org/x/crypto/ssh/terminal" @@ -17,6 +20,7 @@ var hashCmd = cli.Command{ &cli.StringFlag{Name: "pass"}, }, Action: func(ctx *cli.Context) { + logger.Init(zerolog.ErrorLevel) name := ctx.String("name") pass := []byte(ctx.String("pass")) if name == "" { @@ -25,12 +29,12 @@ var hashCmd = cli.Command{ if len(pass) == 0 { var err error - fmt.Print("Enter Password: ") + _, _ = fmt.Fprint(os.Stderr, "Enter Password: ") pass, err = terminal.ReadPassword(int(syscall.Stdin)) if err != nil { log.Fatal().Err(err).Msg("could not read stdin") } - fmt.Println("") + _, _ = fmt.Fprintln(os.Stderr, "") } hashedPw, err := bcrypt.GenerateFromPassword(pass, 12) if err != nil {