From 8aadf7abb1e711bc986522f8cef99fc48d1327c8 Mon Sep 17 00:00:00 2001 From: Felipe Andrade Date: Wed, 17 May 2023 21:38:29 -0700 Subject: [PATCH] replace base64 encoding for params with sha256 hash --- proxyd/proxyd/methods.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/proxyd/proxyd/methods.go b/proxyd/proxyd/methods.go index 3ca32a5..60c0595 100644 --- a/proxyd/proxyd/methods.go +++ b/proxyd/proxyd/methods.go @@ -2,8 +2,9 @@ package proxyd import ( "context" - "encoding/base64" + "crypto/sha256" "encoding/json" + "fmt" "strings" "sync" @@ -21,8 +22,10 @@ type StaticMethodHandler struct { } func (e *StaticMethodHandler) key(req *RPCReq) string { - // signature is a cache-friendly base64-encoded string with json.RawMessage param contents - signature := base64.StdEncoding.EncodeToString(req.Params) + // signature is the hashed json.RawMessage param contents + h := sha256.New() + h.Write(req.Params) + signature := fmt.Sprintf("%x", h.Sum(nil)) return strings.Join([]string{"cache", req.Method, signature}, ":") }