onasty/internal/hasher/sha256.go (view raw)
| 1 | package hasher |
| 2 | |
| 3 | import ( |
| 4 | "crypto/sha256" |
| 5 | "encoding/hex" |
| 6 | ) |
| 7 | |
| 8 | type SHA256Hasher struct { |
| 9 | salt string |
| 10 | } |
| 11 | |
| 12 | func NewSHA256Hasher(salt string) *SHA256Hasher { |
| 13 | return &SHA256Hasher{salt: salt} |
| 14 | } |
| 15 | |
| 16 | func (h *SHA256Hasher) Hash(inp string) (string, error) { |
| 17 | hash := sha256.New() |
| 18 | if _, err := hash.Write([]byte(inp)); err != nil { |
| 19 | return "", err |
| 20 | } |
| 21 | return hex.EncodeToString(hash.Sum([]byte(h.salt))), nil |
| 22 | } |