鱼C论坛

 找回密码
 立即注册
查看: 308|回复: 3

Signature

[复制链接]
发表于 2023-9-19 10:53:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我的问题:Signature这个值是如何求出来的  ??
11.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-9-19 10:53:29 | 显示全部楼层
Signature(签名)是一种用于验证请求的身份的机制,通常用于API接口的访问授权。

签名的生成通常需要以下几个参数:

1. 请求参数:即请求中携带的所有参数,包括请求方法、请求路径、请求参数等。

2. 密钥:用于加密生成签名的密钥,只有具有密钥的用户才能生成有效的签名。

3. 加密算法:用于生成签名的加密算法,常见的有MD5、SHA1、SHA256等。

具体生成签名的过程可以分为以下几步:

1. 将所有请求参数按照参数名的字典序排序。

2. 将排序后的请求参数按照“参数名=参数值”的格式拼接成一个字符串。

3. 在拼接好的字符串末尾加上密钥。

4. 对加密前的字符串进行加密,生成签名。

例如,假设我们要请求一个API接口,请求参数为:

  1. {
  2.   "method": "GET",
  3.   "path": "/api/user/info",
  4.   "timestamp": "1626179375",
  5.   "app_key": "123456",
  6.   "token": "abcdefg"
  7. }
复制代码


假设我们的密钥为 abcdefg ,加密算法为MD5,则生成签名的过程如下:

1. 将所有请求参数按照参数名的字典序排序,得到:

  1. {
  2.   "app_key": "123456",
  3.   "method": "GET",
  4.   "path": "/api/user/info",
  5.   "timestamp": "1626179375",
  6.   "token": "abcdefg"
  7. }
复制代码


2. 将排序后的请求参数按照“参数名=参数值”的格式拼接成一个字符串,得到:

  1. app_key=123456&method=GET&path=/api/user/info&timestamp=1626179375&token=abcdefg
复制代码


3. 在拼接好的字符串末尾加上密钥,得到:

  1. app_key=123456&method=GET&path=/api/user/info&timestamp=1626179375&token=abcdefgabcdefg
复制代码


4. 对加密前的字符串进行加密,生成签名,得到:

  1. MD5("app_key=123456&method=GET&path=/api/user/info&timestamp=1626179375&token=abcdefgabcdefg") = "e8f9e8c3c4a4e1b4b7c6d7c4d4e8e7b1"
复制代码


最终,我们得到了签名 e8f9e8c3c4a4e1b4b7c6d7c4d4e8e7b1 。在请求API接口时,我们需要将签名作为一个参数传递给服务器,服务器会根据签名验证请求的合法性。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-19 12:42:32 | 显示全部楼层
isdkz 发表于 2023-9-19 10:53
Signature(签名)是一种用于验证请求的身份的机制,通常用于API接口的访问授权。

签名的生成通常需要以 ...

笑死我了,牛头不对马嘴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-19 12:43:46 | 显示全部楼层
wuliangtdi 发表于 2023-9-19 12:42
笑死我了,牛头不对马嘴

还是要保重身体呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 07:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表