欢迎来到忆约科技! 手机版

C# 社区推荐

当前位置:首页 > 编程专栏 > C# > 正文

C# SHA1加密

编辑时间:2020年08月06日 15:16 作者:E小编

SHA1加密在软件开发中经常使用, 由于是单向加密也称作不可逆加密, 经常用来做为校验使用, 可以用来校验用户密码, 文件校验

        /// <summary>  
        /// SHA1字符串加密
        /// </summary>  
        /// <param name="input">需要加密字符串</param>  
        /// <returns>返回40位大写字符串</returns>  
        public static string SHA1(string input)
        {
            try
            {
                using (SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider())
                {
                    string result = "";
                    byte[] btInput = System.Text.Encoding.UTF8.GetBytes(input);
                    byte[] btOut = sha1.ComputeHash(btInput);
                    for (int i = 0; i < btOut.Length; i++)
                    {
                        result += btOut[i].ToString("X2");
                    }
                    return result;
                }
            }
            catch
            {
                throw;
            }
        }

        /// <summary>  
        /// SHA1文件流加密
        /// </summary>  
        /// <param name="input">文件流</param>
        /// <returns>返回40位大写字符串</returns>  
        public static string SHA1(Stream input)
        {
            try
            {
                using (SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider())
                {
                    string result = "";
                    byte[] btOut = sha1.ComputeHash(input);
                    for (int i = 0; i < btOut.Length; i++)
                    {
                        result += btOut[i].ToString("X2");
                    }
                    return result;
                }
            }
            catch
            {
                throw;
            }
        }


二维码