前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php 生成签名规则

php 生成签名规则

原创
作者头像
OwenZhang
修改2023-12-05 15:30:31
2K0
修改2023-12-05 15:30:31
举报
文章被收录于专栏:Owen's World
代码语言:txt
复制
 /**
     * 生成接口sign
     * 将获得的signStr进行md5加密候转化成大写,再拼接密钥,再md5加密,并且转化为大写
     * 签名生成的通用步骤如下:
     *
     * 第一步,设所有发送的数据非空参数值的参数按照参数名ASCII码从小到大排序(字典序),
     * 使用URL键值对的格式(即key1:value1key2:value2…)拼接成字符串signStr。
     *
     * 第二步,将获得的signStr进行md5加密候转化成大写,再拼接密钥,再md5加密,并且转化为大写
     *
     * 第三步,第二步结果就是最终的签名signStr
     *
     * 特别注意以下重要规则:
     *
     * ◆ 参数名ASCII码从小到大排序(字典序);
     * ◆ 如果参数的值为空不参与签名;
     * ◆ 参数名区分大小写;
     * (((注意:不同环境后端框架md5结果不一样为,32/16位大小写,此处得前后端对应
     * https://www.sojson.com/md5/ 来猜是具体32/16位大小写 哪一种加密
     * 以下结果是 32位小写 md5加密的结果)))
     * 将获得的signStr进行md5加密候转化成大写,再拼接密钥,再md5加密,并且转化为大写,
     * 密钥与后端商定
     * 假设传送的参数如下:
     *
     * timestamp: 1651226218
     * nonce: cpNrX8wVBOhnIPTs
     * id: 1
     * name: zhang欧文
     * uuid: ffffffff-9252-a533-ffff-ffff81eff5b0
     * os_type: 3
     * 第一步:
     * signStr="id1namezhang欧文noncecpNrX8wVBOhnIPTsos_type3timestamp1651226218uuidffffffff-9252-a533-ffff-ffff81eff5b0"
     * 第二步:
     * strtoupper(md5(strtoupper(md5(signStr)).密钥));
     * 第三步:
     * signStr=69AE2F1DDBE6D78699A087EE62F8FE63
     *
     * @return string signStr
     */

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档