package main import ( "crypto/rand" "fmt" "os" "golang.org/x/term" "roseh.moe/pkg/roseh.moe/internal/pwhash" ) func hashpw() error { fmt.Fprint(os.Stderr, "Enter password: ") password, err := term.ReadPassword(int(os.Stdin.Fd())) fmt.Fprintln(os.Stderr) if err != nil { return err } salt := make([]byte, pwhash.SaltSize) rand.Read(salt) hash, err := pwhash.Hash(string(password), salt) if err != nil { return err } fmt.Printf("notepad-password=%x%x\n", hash, salt) return nil } func main() { if err := hashpw(); err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } }