服务器生成微信sign,签名生成方法

开发者服务端在与微投票服务器交互的过程中,需要对参数进行加签等操作,下边介绍具体规则。

一、服务端

1、请求微投票接口,需要根据参数生成一个签名(sign)并携带在参数中进行请求,最终的请求形式如下:

http://接口地址?sign=签名×tamp=当前秒级时间戳&nonce=随机字符串

并且除sign外的其余参数都需要参与签名计算。

2、签名生成方法:

将请求参数按键进行升序排序->将排序好的数组生成url-query参数->进行加密并拼接为最终签名// php-demo

public function sign($data)

{

$access_key = '后台获取';

$secret_key = '后台获取';

if (is_array($data)) {

ksort($data);                        // 按照升序排序

$data = http_build_query($data);     // 转为url-query参数,如:a=1&b=2&c=3

}

$sign_temp = hash_hmac('sha1', $data, $secret_key); // 加密

return $access_key . '_' . strtoupper($sign_temp); // 拼接最终签名

}

# python-demo

import hmac

from urllib.

你可能感兴趣的:(服务器生成微信sign)