I want to make some signature using HMAC SHA512 and encoded to string using base64
My message is POST:/v1.0/debit/payment-host-to-host:gp9HjjEj813Y9JGoqwOeOPWbnt4CupvIJbU1Mmu4a11MNDZ7Sg5u9a:56fa5f4999ad8014de49d7898c1d1d53472569db8999de3c1b752a0dd181e98c:2020-01-01T00:00:00+07:00
And secret is fdppqbF5wq7vVegyvsV1CROMv646nJ7A
If I store my secret key at env, I got
1sFLy5JqnsaF/fUONKdhWqIysMNfy+j/Pl3ee4C8NiLs3J6Cn2qHjSAqT6aUloPLkNHOY0/GPlAEQsLPKQVt7w==
as signature
But if I hardcode the secret, I got
FSlidRHe4ow9qppNifGVQNcdv67lBjgCiP0BHylh+IKXo4fs2rHaGsFNUY0N8t0rPlZs4iAHAOCDklnCccwuJw==
as signature
I wonder how is it possible? Am I stored it wrong in my env?
Here is the code in golang
stringToSign := "POST:/v1.0/debit/payment-host-to-host:gp9HjjEj813Y9JGoqwOeOPWbnt4CupvIJbU1Mmu4a11MNDZ7Sg5u9a:56fa5f4999ad8014de49d7898c1d1d53472569db8999de3c1b752a0dd181e98c:2020-01-01T00:00:00+07:00"
secret := "fdppqbF5wq7vVegyvsV1CROMv646nJ7A"
// secret := os.Getenv("MY_SECRET_KEY")
sig := hmac.New(sha512.New, []byte(secret)) //secret key hmacsha512
sig.Write([]byte(stringToSign))
signature = base64.StdEncoding.EncodeToString(sig.Sum(nil))
And here is my env file
MY_SECRET_KEY = fdppqbF5wq7vVegyvsV1CROMv646nJ7A
#MY_SECRET_KEY = "fdppqbF5wq7vVegyvsV1CROMv646nJ7A"