From 66e4d0829d919d575bf23d5b6bb76e69bde0c3c8 Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Sun, 7 Dec 2025 14:46:56 -0800 Subject: Increase target security to 32 bytes --- tools/hashpw/hashpw.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tools/hashpw/hashpw.go (limited to 'tools/hashpw/hashpw.go') diff --git a/tools/hashpw/hashpw.go b/tools/hashpw/hashpw.go new file mode 100644 index 0000000..f1bc10d --- /dev/null +++ b/tools/hashpw/hashpw.go @@ -0,0 +1,35 @@ +package main + +import ( + "crypto/rand" + "encoding/base64" + "fmt" + "os" + + "golang.org/x/term" + "roseh.moe/cmd/roseh.moe/internal/pwhash" +) + +func hashpw() error { + fmt.Fprint(os.Stderr, "Enter password: ") + pw, err := term.ReadPassword(int(os.Stdin.Fd())) + fmt.Fprintln(os.Stderr) + if err != nil { + return err + } + salt := make([]byte, pwhash.SaltSize) + rand.Read(salt) + pwHash, err := pwhash.Hash(string(pw), salt) + if err != nil { + return err + } + fmt.Printf("NotepadPassword:\"%s\"\n", base64.StdEncoding.EncodeToString(append(salt, pwHash...))) + return nil +} + +func main() { + if err := hashpw(); err != nil { + fmt.Fprintf(os.Stderr, "hashpw: %s\n", err) + os.Exit(1) + } +} -- cgit v1.3.1