小程式簽名MD5加密

2022-06-08 08:00:13 字數 2381 閱讀 1419

最近小程式需求乙個簽名加密,要把請求引數按鍵值排序並轉化為字串,然後進行md5加密。

//

時間戳var timestamp = (date.parse(new

date()))/1000;

//簽名驗證

var key = '服務端給的';

var json =

//json轉換為陣列並按鍵值公升序排列再轉化為字串

let =object;

let dataarr =;

//json的每個屬性和值新增到陣列

for(let [key, value] of entries(json))

var newstr = dataarr.sort().join(""); //

陣列排序並轉化為字串

console.log(newstr);

var sign = key + newstr +key;

sign = md5(sign).touppercase(); //

md5加密並轉為大寫

console.log(sign);

思路是先把json格式的資料的每項引數和屬性都新增到乙個陣列,然後把陣列排序,再轉為字串,最後進行md5加密。

後來覺得有點麻煩,直接新建陣列,然後排序轉為字串,再進行md5加密。

var arr = ['signtime' + timestamp, 'versionnumber' +that.data.versionnumber,

'title' + that.name, 'idcard' + that.cardnum, 'limit' + that.data.limit, 'page' +that.data.page];

var newarr =;

for (var i = 0; i < arr.length; i++)

console.log(newarr);

var newstr = newarr.sort().join(""); //

陣列排序並轉化為字串

console.log(newstr);

var sign = key + newstr + key;

現在基本所有介面都要簽名,所以直接寫了乙個簡單全域性的方法,方便呼叫。

全域性方法:

makesign:function (obj)  =object;

let dataarr =;

//obj的每個屬性和值新增到陣列

for(let [key, value] of entries(obj))

var newstr = dataarr.sort().join(""); //

陣列排序並轉化為字串

var sign = key + newstr +key;

sign = md5(sign).touppercase(); //

md5加密並轉為大寫

return

sign;

}

呼叫:

var obj =

把簽名新增到obj裡

var data =obj;

//獲取分類資訊

wx.request(, //

設定請求的 header

success: (res) =>

})

大神的通用方法:

const upperfirst =function (word) 

const istype =function (obj, type) ;

const getsign = function (params

) }

var bandparam = "

key";

var versionnumber = "

web-v1";

params["

versionnumber

"] =versionnumber;

params["

signtime

"] = (new date().gettime() / 1000).tofixed(0

);

var newdata = object.keys(params

).sort();

var sign =bandparam;

for(let key of newdata)

sign += key +item;

} sign +=bandparam;

params["

sign

"] =md5(sign).touppercase();

return

params

;}

呼叫:

data: getsign(),

postman 傳送MD5加密簽名請求

1.設定環境變數 2.請求介面例項 3.詢價簽名 sign slon slat timestamp token 對字串sign做md5,得到32位小寫的sign import hashlib getprice sign slon slat timestamp token getprice sign ...

加密方法 MD5加密

一.md5加密演算法 1.1 md5演算法的定義 md5是雜湊雜湊演算法,對於md5而言,有兩個特性是很重要的,第一 明文資料經過雜湊以後的值是定長的 第二 是任意一段明文資料,經過雜湊以後,其結果必須永遠是不變的。前者的意思是可能存在有兩段明文雜湊以後得到相同的結果。md5是雜湊雜湊演算法,對於m...

檔案md5加密

計算檔案的 md5 值 要計算 md5 值的檔名和路徑 md5 值16進製制字串 public static string md5file string filename 計算檔案的雜湊值 要計算雜湊值的檔名和路徑 演算法 sha1,md5 雜湊值16進製制字串 public static stri...