mirror of
https://github.com/containrrr/watchtower.git
synced 2025-09-21 21:30:48 +02:00
24 lines
560 B
Go
24 lines
560 B
Go
package util
|
|
|
|
import (
|
|
"bytes"
|
|
"crypto/rand"
|
|
"fmt"
|
|
)
|
|
|
|
// GenerateRandomSHA256 generates a random 64 character SHA 256 hash string
|
|
func GenerateRandomSHA256() string {
|
|
return GenerateRandomPrefixedSHA256()[7:]
|
|
}
|
|
|
|
// GenerateRandomPrefixedSHA256 generates a random 64 character SHA 256 hash string, prefixed with `sha256:`
|
|
func GenerateRandomPrefixedSHA256() string {
|
|
hash := make([]byte, 32)
|
|
_, _ = rand.Read(hash)
|
|
sb := bytes.NewBufferString("sha256:")
|
|
sb.Grow(64)
|
|
for _, h := range hash {
|
|
_, _ = fmt.Fprintf(sb, "%02x", h)
|
|
}
|
|
return sb.String()
|
|
}
|