1 Star 0 Fork 2

wanyuan/go-qq-openapi-v3

forked from Rex/go-qq-openapi-v3 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
pay_helper.go 1020 Bytes
一键复制 编辑 原始数据 按行查看 历史
Rex 提交于 2013-12-31 19:19 . Update pay_helper.go
package qqopenapi_v3
import (
"fmt"
"log"
"strings"
"net/url"
"crypto/hmac"
"crypto/sha1"
"encoding/base64"
)
func pay_mk_source(method, url_path string, params url.Values) string {
return fmt.Sprintf("%s&%s&%s",
strings.ToUpper(method),
url.QueryEscape(url_path),
url_encode(params, true))
}
func pay_hmac_sha1_sig(method, url_path, secret string, params url.Values) string {
var source = pay_mk_source(method, url_path, params)
var hashed = hmac.New(sha1.New, []byte(secret))
n, err := hashed.Write([]byte(source))
if n != len(source) || err != nil {
log.Println("Hmac write error!", err)
return ""
}
return base64.StdEncoding.EncodeToString(hashed.Sum(nil))
}
func verify_pay_callback_sig(appkey, method, url_path string, params url.Values) bool {
var input_sig = params.Get("sig")
params.Del("sig")
var sig = pay_hmac_sha1_sig(method, url_path, appkey + "&", params)
return sig == input_sig
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wanyuan/go-qq-openapi-v3.git
git@gitee.com:wanyuan/go-qq-openapi-v3.git
wanyuan
go-qq-openapi-v3
go-qq-openapi-v3
master

搜索帮助