验签密钥 php,Gitee PHP WebHook 签名密钥方式验签代码 亲测有效 包通过

博客作者分享了在使用Gitee WebHook时遇到的困境,官方只提供了Python和Java的示例代码,但缺少PHP版本。文章详细解释了Gitee的签名验证算法,并提供了PHP实现验签的步骤,指出官方文档在指导方面的不足,对初学者可能造成的困惑。
摘要由CSDN通过智能技术生成

​官方总是喜欢留一个小坑,提供了python示例代码,也提供了java示例,就是没有提供php代码,折腾了许久,真的要抓狂了!

echo “welcome to yue.ma! “;

//git cmd here

亲测,有效!

这种验签的方式,是否有些熟悉?好多平台之间的签名都有种说不出来的默契,是的!找Gitee相关的签名,找到的都是token,感觉没有验签安全,于是,执着的找为什么?

官方文档坑人之处

如果 WebHook 使用了签名方式,在请求目标时会在当次请求头中加入名为 X-Gitee-Token,值为生成的签名内容。其签名实现算法如下:

签名参数说明

参数 说明

timestamp 当前时间戳,单位是毫秒,与请求调用时间误差不能超过1小时,请求时需和密钥一并发送

secret 签名密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串

Step1:把timestamp+”\n”+密钥当做签名字符串,使用HmacSHA256算法计算签名。

Setp2:对上述得到的结果进行 Base64 encode。

Setp3:对上述得到的结果进行 urlEncode,得到最终的签名(需要使用UTF-8字符集)。

第二步,把 timestamp和第一步得到的签名值拼接到URL中。

写的是生成算法,urlEncode在验签的过程中是不需要的。话说,小白们都等着验签,官方却丢一个,你看,我们是这么生成的,验签你们自己看着办。有点拽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值