summaryrefslogtreecommitdiffstats
path: root/tools/hashpw
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2025-11-21 18:44:58 -0800
committerRose Hogenson <rosehogenson@posteo.net>2025-11-21 18:44:58 -0800
commit0d640e791493de79b43b050a13b1cf9c081854ec (patch)
treee545cc0db40612260c8a1995d38f6bb600a87c2f /tools/hashpw
parentUse a weird encoding for the time.Time (diff)
downloadroseh.moe-0d640e791493de79b43b050a13b1cf9c081854ec.tar.zst
Simplify the password hash and get rid of pbkdf2
Since the password already has 16 bytes of security, pbkdf2 isn't necessary here. We can use a simple sha256. I promise to pick a secure password.
Diffstat (limited to 'tools/hashpw')
-rw-r--r--tools/hashpw/hashpw.go46
1 files changed, 0 insertions, 46 deletions
diff --git a/tools/hashpw/hashpw.go b/tools/hashpw/hashpw.go
deleted file mode 100644
index f1e76db..0000000
--- a/tools/hashpw/hashpw.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package main
-
-import (
- "bytes"
- "crypto/rand"
- "encoding/base64"
- "fmt"
- "os"
- "slices"
-
- "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
- }
- fmt.Fprint(os.Stderr, "Confirm password: ")
- pwConfirm, err := term.ReadPassword(int(os.Stdin.Fd()))
- fmt.Fprintln(os.Stderr)
- if err != nil {
- return err
- }
- if !bytes.Equal(password, pwConfirm) {
- return fmt.Errorf("passwords do not match")
- }
- salt := make([]byte, pwhash.SaltSize)
- rand.Read(salt)
- hash, err := pwhash.Hash(string(password), salt)
- if err != nil {
- return err
- }
- fmt.Printf("NotepadPassword:%q\n", base64.StdEncoding.EncodeToString(slices.Concat(hash, salt)))
- return nil
-}
-
-func main() {
- if err := hashpw(); err != nil {
- fmt.Fprintln(os.Stderr, err)
- os.Exit(1)
- }
-}