c#md5与SHA1验证函数
/// <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 = ; 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 = ; i < hashbytes.Length; i++)
{
if (blockletter) //判断输出大小写
sb.Append(hashbytes[i].ToString("X2"));
else
sb.Append(hashbytes[i].ToString("x2"));
}
return sb.ToString();
}
c#md5与SHA1验证函数的更多相关文章
- 接触到的加密算法MD5、SHA1(转)
参考链接: https://blog.csdn.net/u012611878/article/details/54000607 https://blog.csdn.net/worm0527/artic ...
- [转]SQL Server 数据库中的 MD5 和 SHA1
MD5 和 SHA1 是一种单向加密算法,常用于密码的验证等需要加密操作的场合,在一般情况下,开发人员可以通过 Delphi 或 PHP 这类语言自己编写相关函数或者使用自带的函数,然后将加密过的结果 ...
- MD5与SHA1
一.MD5 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于 ...
- 密码学应用(DES,AES, MD5, SHA1, RSA, Salt, Pkcs8)
目录 一.数据加密标准 - Data Encryption Standard(DES) 二.高级加密标准 - Advanced Encryption Standard(AES) 三.消息摘要算法第五版 ...
- MD5、SHA1加密java 16位32位
MD5.SHA1加密java 16位32位 import java.math.BigInteger; import java.security.MessageDigest; public class ...
- CRC、MD5和SHA1的区别?
什么是CRC校验?CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将 ...
- MD5和SHA-1
MD5和SHA-1都是我们耳熟能详的术语了,很多人可能知道他们跟加密有关系,但是他们是怎么做到加密的,他们各自的特点又是什么.我来简单的讲一讲. MD5和SHA-1都被称作哈希(Hash)函数,用过J ...
- 数据安全之MD5、SHA-1、CRC32区别
crc32 — 计算一个字符串的 crc32 多项式 生成 string 参数的 32 位循环冗余校验码多项式……:这句话从英文翻译过来的,不正确,准确的说应该是这么理解: 以32位循环冗余校验多项式 ...
- 校验知识:CRC32、MD5、SHA1概念及可靠性现状
转:http://www.metsky.com/archives/337.html 昨天介绍了Windows 7的版本识别问题,不得不提到常用的CRC32.MD5.SHA1等校验算法可靠性问题,如果只 ...
随机推荐
- [CODEVS1048]石子归并
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子 ...
- mysql 资料总结 长期更新
http://blog.csdn.net/ww1982_0_0_0/article/details/9169613 引入employess
- VellCar(法拉利车模)
玩了近9小时,手都疼了,1322个零件真不是个小数字啊...不说了,上图纪念下:
- vm虚拟机上安装apache+php+ftp+mysql
我在vm虚拟机上想安装 winxp和linux,然后在linux机上装apache+php+ftp+mysql,以下为我的按装过程: 1:连通虚拟机:两个虚拟机都选Host-Onl,查看主机Virt ...
- Codeforces Round #226 (Div. 2)A. Bear and Raspberry
/* 贪心的找到相邻两项差的最大值,再减去c,结果若是负数答案为0. */ 1 #include <stdio.h> #define maxn 105 int num[maxn]; int ...
- NOI 1998 免费馅饼
附题目链接:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=4901 时间限制(普通/Java ...
- 为什么Form.Timer的event handler在Form被Dispose之后还是被调到了?
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:为什么Form.Timer的event handler在Form被Dispose之后还是被调到了?.
- Android虚拟机Dalvik介绍
Dalvik和标准Java虚拟机(JVM)之间的首要差别之一,就是Dalvik基于寄存器,而JVM基于栈.一直以来都有人在猜测,选择基于寄存器的方式是因为它对提前优化(ahead-of-time o ...
- cocos2d-x 3.0 Armature jsb 初体验
有段时间没有写游戏代码了,这回来主要任务是要用jsb构建一个aprg动作游戏,看到3.0官方已经绑定好了armature的js函数,先来体验一把 3.0新建项目比2.2方便了很多,在终端运行tools ...
- android 98 MediaPlayer+SurfaceView播放视频
package com.itheima.videoplayer; import java.io.IOException; import android.media.MediaPlayer; impor ...