Esempio n. 1
0
        /// <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());
        }
Esempio n. 2
0
        /// <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());
        }