38 lines
708 B
Go
38 lines
708 B
Go
package sprig
|
|
|
|
import (
|
|
"crypto/sha1"
|
|
"crypto/sha256"
|
|
"crypto/sha512"
|
|
"encoding/hex"
|
|
"fmt"
|
|
"hash/adler32"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
func sha512sum(input string) string {
|
|
hash := sha512.Sum512([]byte(input))
|
|
return hex.EncodeToString(hash[:])
|
|
}
|
|
|
|
func sha256sum(input string) string {
|
|
hash := sha256.Sum256([]byte(input))
|
|
return hex.EncodeToString(hash[:])
|
|
}
|
|
|
|
func sha1sum(input string) string {
|
|
hash := sha1.Sum([]byte(input))
|
|
return hex.EncodeToString(hash[:])
|
|
}
|
|
|
|
func adler32sum(input string) string {
|
|
hash := adler32.Checksum([]byte(input))
|
|
return fmt.Sprintf("%d", hash)
|
|
}
|
|
|
|
// uuidv4 provides a safe and secure UUID v4 implementation
|
|
func uuidv4() string {
|
|
return uuid.New().String()
|
|
}
|