Files
img-proxy-url-generator/generator/signature.go
2024-04-23 10:27:07 -04:00

25 lines
618 B
Go

package generator
import (
"crypto/hmac"
"crypto/sha256"
"encoding/base64"
"github.com/siteworxpro/img-proxy-url-generator/printer"
)
func (g *Generator) generateSignature(path string) string {
var signature string
if len(g.config.keyBin) == 0 || len(g.config.saltBin) == 0 {
signature = "insecure"
printer.NewPrinter().LogWarning("Insecure url generated. Provide salt and key to sign and secure url.")
} else {
mac := hmac.New(sha256.New, g.config.keyBin)
mac.Write(g.config.saltBin)
mac.Write([]byte(path))
signature = base64.RawURLEncoding.EncodeToString(mac.Sum(nil))
}
return signature
}