diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2025-09-23 21:18:49 -0700 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2025-09-23 21:18:49 -0700 |
| commit | 09517318b87e39506cbcb3232a395ac7d43c25f5 (patch) | |
| tree | 8b0698270dfc5382655b50dc6df3b5de6dd20715 /cmd/hashpw | |
| parent | Add CSRF protection (diff) | |
| download | roseh.moe-09517318b87e39506cbcb3232a395ac7d43c25f5.tar.zst | |
Use pbkdf2 for password hashing instead of sha512
Diffstat (limited to 'cmd/hashpw')
| -rw-r--r-- | cmd/hashpw/hashpw.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/cmd/hashpw/hashpw.go b/cmd/hashpw/hashpw.go new file mode 100644 index 0000000..ffbdf79 --- /dev/null +++ b/cmd/hashpw/hashpw.go @@ -0,0 +1,34 @@ +package main + +import ( + "crypto/rand" + "fmt" + "os" + + "gitlab.com/rhogenson/roseh.moe/internal/pwhash" + "golang.org/x/term" +) + +func run() error { + fmt.Print("Enter password:") + password, err := term.ReadPassword(int(os.Stdin.Fd())) + fmt.Println() + if err != nil { + return err + } + salt := make([]byte, 32) + rand.Read(salt) + hashedPassword, err := pwhash.Hash(string(password), salt) + if err != nil { + return err + } + fmt.Printf("notepad-password=%x\nsalt=%x\n", hashedPassword, salt) + return nil +} + +func main() { + if err := run(); err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } +} |
