all repos

onasty @ c2e1526

a one-time notes service

onasty/internal/hasher/sha256.go(view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package hasher

import (
	"crypto/sha256"
	"encoding/hex"
)

type SHA256Hasher struct {
	salt string
}

func NewSHA256Hasher(salt string) *SHA256Hasher {
	return &SHA256Hasher{salt: salt}
}

func (h *SHA256Hasher) Hash(inp string) (string, error) {
	hash := sha256.New()
	if _, err := hash.Write([]byte(inp)); err != nil {
		return "", err
	}
	return hex.EncodeToString(hash.Sum([]byte(h.salt))), nil
}