C# 中使用 MD5 算法计算 hash (哈希)值的四种方法
来源:互联网 发布:淘宝有什么好的茶叶店 编辑:程序博客网 时间:2024/05/17 01:05
在.net中,由 System.Security.Cryptography 命名空间提供了加密和哈希的几个类。其中 md5 编码由 MD5CryptoServiceProvider 实现。
在使用过程中由于 MD5CryptoServiceProvider 提供了多种方法去计算md5的hash值,反而令人搞不清楚,所以这里帖出计算md5的几种常见方法
先引用命名空间:
using System.Security.Cryptography;
using System.Text;
然后:
MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider();
string source="HelloWorld";
byte[] message;
message=Encoding.Default.GetBytes(source);
//方法1
// 使用ComputeHash方法,适合用于计算简单的字符串的md5值时
md5.ComputeHash(message);
Console.WriteLine(Convert.ToBase64String(md5.Hash));
//方法2
// 使用TransformFinalBlock方法,适合用于原始数据不多时
md5.Initialize();
md5.TransformFinalBlock(message,0,message.Length);
Console.WriteLine(Convert.ToBase64String(md5.Hash));
//方法3
// 此方法等同于方法2
md5.Initialize();
md5.TransformBlock(message,0,message.Length,
message,0); //note: output bytes must equal input bytes
md5.TransformFinalBlock(message,0,0);
Console.WriteLine(Convert.ToBase64String(md5.Hash));
//方法4
// 将原始消息分两次编码,得出的结果跟上面的一样,适合用于计算大量原始数据时,例如计算一个文件的md5值
md5.Initialize();
message=Encoding.Default.GetBytes("Hello");
md5.TransformBlock(message,0,message.Length,
message,0);
message=Encoding.Default.GetBytes("World");
md5.TransformFinalBlock(message,0,message.Length);
Console.WriteLine(Convert.ToBase64String(md5.Hash));
- C# 中使用 MD5 算法计算 hash (哈希)值的四种方法
- C# 中使用 MD5 算法计算 hash (哈希)值的四种方法
- C#中使用MD5加密的方法
- C#中使用MD5加密的方法
- C#中使用MD5加密的方法
- JAVA中获取文件MD5值的四种方法
- go MD5 HASH 算法使用
- 计算MD5值的方法
- C# MD5 HASH的加密
- 信息加密(MD5/SHA-1...),计算文件hash值
- C# 计算文件的 Hash 值
- C# 计算文件的MD5值
- C# 计算文件的MD5值
- 用C#计算文件的MD5值
- C# md5 hash值求取 添加 system.web的引用
- 计算MD5值方法
- C#自动计算字符串公式的四种方法
- C#的md5算法
- Google TopCoder Test1(20 point)
- 5个奇数统计及文件操作
- Asp.Net 学习资源列表
- 对数学的思考(转载)
- Google TopeCoder Test2 (500)
- C# 中使用 MD5 算法计算 hash (哈希)值的四种方法
- 月薪0.03M的题目
- 月薪0.03M的答案
- 学车记(三)
- 雅虎公司C#笔试题
- The Xbox factor
- 函数调用约定(整理稿)
- 贸易时代的总结(一)--总体设计和登陆服务器
- To-do list