| 123456789101112131415161718192021222324 |
- const CryptoJS = require('crypto')
- class Tik {
- // 创建签名
- createSignature (secretKey, data) {
- const hmac = CryptoJS.createHmac('sha256', secretKey)
- hmac.update(this.toQueryString(data))
- return hmac.digest('hex')
- }
- // 将map转换为queryString
- toQueryString (data) {
- let queryString = ''
- for (let key in data) {
- queryString = queryString + `${key}=${data[key]}&`
- }
- return queryString.substring(0, queryString.length - 1)
- }
- // 获取最终QueryURL
- toFinalQueryURL (url, data, signature) {
- return url + '?' + this.toQueryString(data) + '&signature=' + signature
- }
- }
- module.exports = Tik
|