public static string GetJssdkSign(string nonceStr, long timeStamp, string url) { var ticket = GetJsapiTicket(); if (!string.IsNullOrWhiteSpace(ticket)) { var sortedDic = new SortedDictionary <string, object>(); sortedDic.Add("jsapi_ticket", ticket); sortedDic.Add("noncestr", nonceStr); sortedDic.Add("timestamp", timeStamp); sortedDic.Add("url", url); var sb = new StringBuilder(); foreach (var item in sortedDic) { sb.AppendFormat("{0}={1}&", item.Key, item.Value); } var plainTextStr = sb.ToString().TrimEnd('&'); var cipherText = HashAlgorithm.Encrypt(plainTextStr, HashWay.sha1, Encoding.UTF8); return(cipherText); } return(null); }