/// <まとめ> /// マイクロチャネル支払MD5署名アルゴリズム、ASCIIコード辞書式順序0、A、B、A、B /// </要約> /// <PARAM NAME = "起訴"> 名前を署名しますキーと値のペア</ param>の /// <PARAM NAME = "TenPayV3_Key"> 署名のキー</ param>の /// <戻り値> MD5シグネチャ文字列</戻り値> 公共の 静的な 文字列 WePaySign(IDictionaryを< 文字列、文字列 >起訴、ストリングTenPayV3_Key) { 文字列 [] = arrKeys InDict.Keys.ToArray(); のArray.sort(arrKeys、ストリング .CompareOrdinal)。 //昇順でASCIIコードパラメータ名、0、A、B、A、B、 VARの STRA = 新しい新規のStringBuilder(); foreachの(VARのキーでarrKeys) { 文字列の値は= 起訴[キー]; IF(String.IsNullOrEmpty(!値))// ヌル値を署名に関与しない { StrA.Append(キー + " = " ) .Append(値 + " &" ); } } // foreachの(VARのInDict.OrderByアイテム(X => x.Key ))//辞書パラメータ名、0、A、A、B、B; // { // IF(String.IsNullOrEmpty(item.Value)!)// ヌル値を署名に関与しない // { // StrA.Append(項目。 +キー"=") // .Append(item.Value + "&"); // } // } StrA.Append(" キー= " ; + TenPayV3_Key)// NOTE:商人のプラットフォームのキーへの鍵キー リターンStrFormat.GetMd5Hash(StrA.ToString())TOUPPER();. }