added repocli

This commit is contained in:
2026-03-02 09:07:57 +02:00
parent e67f42a821
commit 1b025180f0
25 changed files with 1320 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
package repocli
import (
"crypto/sha256"
"crypto/sha512"
"encoding/hex"
"strings"
)
func SHA256Digest(src []byte) string {
hasher := sha256.New()
hasher.Write(src)
sum := hasher.Sum(nil)
return "sha256:" + hex.EncodeToString(sum)
}
func SHA512Digest(src []byte) string {
hasher := sha512.New()
hasher.Write(src)
sum := hasher.Sum(nil)
return "sha512:" + hex.EncodeToString(sum)
}
const (
Undefined int = iota
SHA256
SHA512
)
func DigestType(digest string) int {
var err error
var typ int
digest = strings.ToLower(digest)
digest = strings.TrimPrefix(digest, "sha256:")
digest = strings.TrimPrefix(digest, "sha512:")
decoded, err := hex.DecodeString(digest)
if err != nil {
return Undefined
}
switch len(decoded) {
case 32:
typ = SHA256
case 64:
typ = SHA512
default:
typ = Undefined
}
return typ
}