const?密碼?=?要求(“crypto”);
功能?簽名()
{
var?strMobile?=?“這是我的手機”;?//tel的移動字段的內容。
var?strAppKey?=?“這是我的鑰匙”;?//sdkappid對應的appkey需要業務方高度保密。
var?strRand?=?"7226249334";?//url中隨機字段的值。
var?strTime?=?"1457336869";?//unix時間戳
var?buf?=?" appkey = "+strAppKey+" & amp;random = "+strRand+" & amp;時間= "
+strTime+" & amp;mobile = "+strMobile;
var?sig?=?crypto.createHash('sha256 ')。更新(buf,?utf-8’)。digest(' hex ');
回歸?sig
}
console . log(SIG());輸出結果如下:
7b 1e 97051886 Abd 66 c 684530 db 2 b 01644 f 828 f 31e 06d 624d 88 af 5469 afaa 0原因是文檔中強調了utf-8,而js的默認編碼不是這個,所以需要指定。
另外,這個sig的計算結果和妳的輸出參數有關,不是常數。
還有就是妳的手機和appkey怎麽都是中文交付的,官方的好像都是數字和字母。