From c5a5b24cf6370ab549c033b20ad0389ec3ce8ec1 Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Mon, 6 Oct 2025 21:08:45 -0700 Subject: Simplify simplify simplify --- internal/pwhash/pwhash.go | 44 -------------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 internal/pwhash/pwhash.go (limited to 'internal/pwhash') diff --git a/internal/pwhash/pwhash.go b/internal/pwhash/pwhash.go deleted file mode 100644 index c3c11ff..0000000 --- a/internal/pwhash/pwhash.go +++ /dev/null @@ -1,44 +0,0 @@ -package pwhash - -import ( - "crypto/pbkdf2" - "crypto/rand" - "crypto/sha512" - "crypto/subtle" - "errors" -) - -const defaultIter = 12504615 // from tools/finditers - -func HashIter(pw string, salt []byte, iter int) ([]byte, error) { - return pbkdf2.Key(sha512.New, pw, salt, iter, 32) -} - -func Hash(pw string) ([]byte, error) { - buf := make([]byte, 40) - salt := buf[32:] - rand.Read(salt) - hash, err := HashIter(pw, salt, defaultIter) - if err != nil { - return nil, err - } - copy(buf, hash) - return buf, nil -} - -var errBadPassword = errors.New("bad password") - -func Check(pwHash []byte, pw string) error { - if len(pwHash) < 32 { - return errBadPassword - } - wantHash, salt := pwHash[:32], pwHash[32:] - gotHash, err := HashIter(pw, salt, defaultIter) - if err != nil { - return err - } - if subtle.ConstantTimeCompare(gotHash, wantHash) == 0 { - return errBadPassword - } - return nil -} -- cgit v1.3.1