Files
orbits/internal/crypto/crypto.go
T
2026-04-22 11:51:57 +02:00

27 lines
516 B
Go

package crypto
import (
"crypto/sha512"
"encoding/hex"
"io"
"mime/multipart"
)
func CalculateHashFromRequest(fileHeader *multipart.FileHeader) (string, error) {
src, err := fileHeader.Open()
if err != nil {
return "", err
}
defer src.Close()
h := sha512.New()
if _, err := io.Copy(h, src); err != nil {
return "", err
}
// return the sha checksum in hex
return hex.EncodeToString(h.Sum(nil)), nil
// alternatively return in base64
//return base64.StdEncoding.EncodeToString(h.Sum(nil)), nil
}