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

c#md5与SHA1验证函数

admin10年前 (2015-12-02)C#5435
C
  • /// <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();
  • }
阅读剩余的18%

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

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

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

标签: C#md5SHA1

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

c# 串口发送接收数据

/********************** 串口数据接收事件 *****************************/         private void Seri...

 C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)

C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)

一、各种旋转、改变大小 注意:先要添加画图相关的using引用。 //向右旋转图像90°代码如下: private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {...

C#中的MessageBox消息对话框

C#中的MessageBox消息对话框

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

c# 委托实现多线程的实例/另一个class类调用控件

c# 委托实现多线程的实例/另一个class类调用控件

一、使用线程在窗体中显示进度条 在Winform应用程序中,经常用进度条显示进度信息。这时候就可能用到多线程。如果不采用多线程控制进度条的话,窗口界面很容易假死(无法看到进度信息,看起来像界面卡住了)。 在这个实例中,我们建立一个窗体,窗体中包括一个后台组件,一个进度条控件。当在主窗...

c#程序闪退日志记录/异常日志

以下代码是程序入口文件 using DDS_Form1; using System; using System.Collections.Generic; using System.IO; //using System.Linq; using System.Windows.Forms;...

C# .net动态加载第三方DLL

C#动态加载第三方DLL 当我们需要加载第三方非托管DLL时,通常会直接使用DllImport的方式,代码如下: [DllImport("GetFile.dll", CallingConvention = CallingConvention.StdCall,...

发表评论

访客

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