// 支払MD5暗号化は、サイン入手 :paysignjs 機能(jsonobj){ VARの signstr = この.obj2str(jsonobj) signstr = signstr + 'キー&=' + ;キー はconsole.log( "signstrkey" 、signstr) VaRのログイン= md5utilを。 hexMD5(signstr); // 検証コールは事前通知またはマイクロチャネル署名、サインパラメータ転送が署名に参加していない、およびキャリブレーションのための署名発生符号値を返します。 戻りsign.toUpperCase() } // オブジェクトターン列、計算のための署名 obj2str:関数(引数){ VARのキー= Object.keys(引数) キー =辞書のkeys.sort()//昇順でASCIIコードパラメータ名(辞書式); VARの newArgs = {} keys.forEach(関数{)(主 IF !!(Argsの[キー] = "" &&引数[キー] = '不定'){ / / valueパラメータは、署名に参加していないnullである場合、 newArgs [キー] =引数[キー] // パラメータ名は、大文字と小文字が区別され; } }) VARの文字列= '' のための(VARの K でnewArgs){ 文字列 + = '&' + K + '=' + newArgs [K] } ストリング =にString.substr(1 ) リターン文字列 } // ランダム関数生成: createNonceStr:関数(){ リターン Math.random()のtoString(36).SUBSTR(2、15)。 // ランダムな10進数、16進数変換器36、除去0、残りの部分を保持 } // タイムスタンプ生成器の機能、2番目の文字列に正確な現在時刻に証明書の発現、 createTimeStamp:関数(){ 返す(のparseIntを新しい新しい日付()getTime()/ 1000)+「」 }