最佳解决方案
using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; namespace WebToolkit.Encrypt { public class SHA1Helper { /// <summary> /// Net实现Sha1加密算法 /// </summary> /// <param name="str">要加密的字符串,默认编码为UTF-8</param> /// <returns>加密后的十六进制的哈希散列(字符串)</returns> public static string Sha1Signature(string str) { return Sha1Signature(str, Encoding.UTF8); } public static string Sha1Signature(string str, Encoding encoding) { var buffer = encoding.GetBytes(str); var data = SHA1.Create().ComputeHash(buffer); StringBuilder sub = new StringBuilder(); foreach (var t in data) { sub.Append(t.ToString("X2")); } return sub.ToString(); } } }