md5签名验证
md5签名验证
调用方需要申请 App Key 和 App Secret。
App Key 用来识别调用方身份。
App Secret 用来加密生成签名使用。
签名需要满足以下几点:
可变性:每次的签名必须是不一样的。
时效性:每次请求的时效性,过期作废。
唯一性:每次的签名是唯一的。
完整性:能够对传入数据进行验证,防止篡改。
/api?param_1=xxx¶m_2=xxx&ak=xxx&ts=xxx&sn=xxx
ak 表示App Key,用来识别调用方身份。
ts 表示时间戳,用来验证接口的时效性。
sn 表示签名加密串,用来验证数据的完整性,防止数据篡改。sn 是通过 App Secret 和 传递的参数 进行加密的。
签名加密:MD5 组合加密、AES 对称加密、RSA 非对称加密。
md5签名
func MD5(str string) string {
s := md5.New()
s.Write([]byte(str))
return hex.EncodeToString(s.Sum(nil))
}
appKey = "demo"
appSecret = "xxx"
encryptStr = "param_1=xxx¶m_2=xxx&ak="+appKey+"&ts=xxx"
// 自定义验证规则
sn = MD5(appSecret + encryptStr + appSecret)
验证签名
通过传递参数,再次生成签名,如果将传递的签名与生成的签名进行对比。
相同,表示签名验证成功。
不同,表示签名验证失败。
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/16559787.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-08-07 DELPHI给整个项目加编译开关
2019-08-07 TThread.Queue和TThread.Synchronize的区别
2018-08-07 FMXUI
2018-08-07 x-superobject
2018-08-07 mORMot
2018-08-07 NativeXml
2018-08-07 superobject