💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
## 签名规范 以【**订单查询接口**】为例,时间单位是【秒】开发者的key是`BF1BDE5A649724056F904A9335B1C1C9`,请求的参数如下: ~~~ appid:13105356515 order_no: dkcxLfuFP7uTsKkO1sYxh7XMsYX9fU1F timestamp: 1558098980667 sign:"" ~~~ 第一步:将请求参数中除sign外的多个键值对,根据键按照字典序排序【参考下方案例】,并按照"key1=value1&key2=value2..."的格式拼成一个字符串: ~~~ appid=13105356515&order_no=dkcxLfuFP7uTsKkO1sYxh7XMsYX9fU1F&timestamp=1558098980667 ~~~ 第二步:将key拼接在第一步中排序后的字符串后面得到待签名字符串 ~~~ appid=13105356515&order_no=dkcxLfuFP7uTsKkO1sYxh7XMsYX9fU1F&timestamp=1558098980667&key=BF1BDE5A649724056F904A9335B1C1C9 ~~~ 第三步:使用md5算法加密待加密字符串并转为大写即为sign ~~~ 612E717625A1EF4FB873BCA525F7F375 ~~~ 第四步:将sign添加到请求参数中 ~~~ https://域名/order/get?appid=13105356515&order_no=dkcxLfuFP7uTsKkO1sYxh7XMsYX9fU1F&timestamp=1558098980667&sign=6BCD2154C3578E09CD8FA699C77EB8EC ~~~ 案例加密代码 ``` //sign function sign($keyParams = [],$appsecret) { //字典排序 ksort($keyParams); //字符串拼接 $keyStr = ''; foreach ($keyParams as $k => $value){ $keyStr .= $k.'='.$value.'&'; } $keyStr = $keyStr.'key='.$appsecret; //返回大写 return strtoupper(md5($keyStr)); } ``` 需要注意以下重要规则: ◆ 请求参数中有中文时,中文需要经过url编码,但计算签名时不需要; ◆ 请求参数的值为空则不进行传递; ◆ 参数名区分大小写; ◆ sign参数不参与签名;