小程序 用户信息签名验证失败,
前端将signature和rawData传过到我的后台,我验证时,大部分的时候可以成功,但有时候就会失败,
很奇怪的问题,具我自己观察,我觉得有可能是因为用户信息中nickName中包含特殊字符造成的,比如:
"nickName":"DDD��"
但这也只是我的猜测,不知道有没有遇到同样的问题,如何解决的?
贴一下,我验签的代码,顺便看一下有没有问题? 贴代码,竟然没有go语言。。。。
func VerifySignature(signature, rawData, sessionKey string) bool { content := fmt.Sprintf( "%v%v" , rawData, sessionKey) h := sha1.New() h.Write([]byte(content)) compareSignatrue := hex.EncodeToString(h.Sum(nil)) if signature == compareSignatrue { return true } return false } |