/// <summary> /// MD5加密 /// </summary> /// <param name="sFile">文件流</param> /// <returns>返回大写MD5值</returns> public static string ComputeHash(Stream sFile) { byte[] t = #if !NET35 _md5.Value.ComputeHash(sFile); #else _md5.ComputeHash(sFile); #endif StringBuilder sb = new StringBuilder(32); for (int i = 0; i < t.Length; i++) { sb.Append(t[i].ToString("X").PadLeft(2, '0')); } return(sb.ToString()); }
/// <summary> /// SHA1加密 /// </summary> /// <param name="input">输入字符串</param> /// <param name="encoding">字符编码</param> /// <returns>返回大写SHA1值</returns> public static string ComputeHash(string input, Encoding encoding) { if (!input.HasValue()) { throw new ArgumentNullException(nameof(input)); } byte[] t = #if !NET35 hasher.Value.ComputeHash(encoding.GetBytes(input)); #else hasher.ComputeHash(encoding.GetBytes(input)); #endif StringBuilder sb = new StringBuilder(40); for (int i = 0; i < t.Length; i++) { sb.Append(t[i].ToString("X").PadLeft(2, '0')); } return(sb.ToString()); }