github.com/Tyktechnologies/tyk@v2.9.5+incompatible/signature_validator/hash.go (about) 1 package signature_validator 2 3 import ( 4 "crypto/md5" 5 "crypto/sha256" 6 "strconv" 7 ) 8 9 type Hasher interface { 10 Name() string 11 Hash(token string, sharedSecret string, timeStamp int64) []byte 12 } 13 14 type MasherySha256Sum struct{} 15 16 func (m MasherySha256Sum) Name() string { 17 return "MasherySHA256" 18 } 19 20 func (m MasherySha256Sum) Hash(token string, sharedSecret string, timeStamp int64) []byte { 21 signature := sha256.Sum256([]byte(token + sharedSecret + strconv.FormatInt(timeStamp, 10))) 22 23 return signature[:] 24 } 25 26 type MasheryMd5sum struct{} 27 28 func (m MasheryMd5sum) Name() string { 29 return "MasheryMD5" 30 } 31 32 func (m MasheryMd5sum) Hash(token string, sharedSecret string, timeStamp int64) []byte { 33 signature := md5.Sum([]byte(token + sharedSecret + strconv.FormatInt(timeStamp, 10))) 34 35 return signature[:] 36 }