#region 获取由SHA1加密的字符串
public string EncryptToSHA1(string str)
{
            SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();            
            byte[] str1 = Encoding.UTF8.GetBytes(str);            
            byte[] str2 = sha1.ComputeHash(str1);
            sha1.Clear();
            (sha1 as IDisposable).Dispose();            
            return Convert.ToBase64String(str2);
}
#endregion
  /// <summary>
  /// 基于Sha1的自定义加密字符串方法:输入一个字符串,返回一个由40个字符组成的十六进制的哈希散列(字符串)。
  /// </summary>
  /// <param name="str">要加密的字符串</param>
  /// <returns>加密后的十六进制的哈希散列(字符串)</returns>
  public static string Sha1(this string str)
  {
    var buffer = Encoding.UTF8.GetBytes(str);
    var data = SHA1.Create().ComputeHash(buffer);
 
    var sb = new StringBuilder();
    foreach (var t in data)
    {
      sb.Append(t.ToString("X2"));
    }
     
    return sb.ToString();
  }