当前位置:首页 > C# > 正文内容

c#md5与SHA1验证函数

admin9年前 (2015-12-02)C#5271
/// <summary>
        /// MD5验证函数
        /// </summary>
        /// <param name="fileName">文件的路径</param>
        /// <param name="blockletter">返回的MD5值是否为大写</param>
        /// <returns></returns>
        public static string GetMD5HashFromFile(string fileName,bool blockletter)
        {
            try
            {
                FileStream file = new FileStream(fileName, FileMode.Open);
                System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                byte[] retVal = md5.ComputeHash(file);
                file.Close();

                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < retVal.Length; i++)
                {
                    if (blockletter)
                        sb.Append(retVal[i].ToString("X2"));
                    else 
                        sb.Append(retVal[i].ToString("x2"));
                }
                return sb.ToString();
            }
            catch (Exception ex)
            {
                return "文件读取错误";
            }
        }
        /// <summary>
        ///   计算SHA1值
        /// </summary>
        /// <param name="fileName">文件地址</param>
        /// <param name="blockletter">是否输出大写</param>
        /// <returns></returns>
        public static string GetSHA1HashFromFile(string fileName, bool blockletter)
        {
            var tragetFile = new System.IO.FileStream(fileName, System.IO.FileMode.Open);
            var sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
            byte[] hashbytes = sha1.ComputeHash(tragetFile);
            tragetFile.Close();

            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            for (int i = 0; i < hashbytes.Length; i++)
            {
                if (blockletter) //判断输出大小写
                    sb.Append(hashbytes[i].ToString("X2"));
                else
                    sb.Append(hashbytes[i].ToString("x2"));
            }
            return sb.ToString();
        }


扫描二维码推送至手机访问。

版权声明:本文由视觉博客发布,如需转载请注明出处。

本文链接:https://feelsight.cn/post/5.html

标签: C#md5SHA1

“c#md5与SHA1验证函数” 的相关文章

c#汉字与编码之间的转换(输出十六进制)

/******************************************************************/         /*********************** &n...

C#获取机器码的方法详解(机器名,CPU编号,硬盘编号,网卡mac等)

这篇文章主要介绍了C#获取机器码的方法,结合实例形式详细分析了C#获取硬件机器名、CPU编号、硬盘编号、网卡mac等信息的相关实现方法,需要的朋友可以参考下本文实例讲述了C#获取机器码的方法。分享给大家供大家参考,具体如下:using System.Runtime.InteropServi...

C# 非独占延时函数 非Sleep

在C#窗口程序中,如果在主线程里调用Sleep,在Sleep完成之前, 界面呈现出假死状态,不能响应任何操作!下边实现的是非独占性延时函数,延时过时中界面仍可响应消息:public static void Delay(int milliSecond) {&n...

C#中的MessageBox消息对话框

C#中的MessageBox消息对话框

在程序中,我们经常使用消息对话框给用户一定的信息提示,如在操作过程中遇到错误或程序异常,经常会使用这种方式给用于以提示。在C#中,MessageBox消息对话框位于System.Windows.Forms命名空间中,一般情况,一个消息对话框包含信息提示文字内容、消息对话框的标题文字、用户响应的...

C#全局监听Windows键盘事件

1.工具类代码 using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Windows...

C# 窗体间传值(Form与From之间互相传值)

C# 窗体间传值(Form与From之间互相传值)

1、委托   两个窗体,窗体很简单,只实现改变颜色功能,一看就会: 代码如下,只贴按钮事件代码: 打开Form2按钮事件 private void button1_Click(object s...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。