マイクロチャネルの有料署名アルゴリズムのJavaScriptバージョン、パラメータ名ASCIIコード小から大へ、0、A、B、B。

  // 支払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)+「」
  }

 

おすすめ

転載: www.cnblogs.com/jopny/p/11454952.html