您的位置:首页 > 编程语言 > C#

c#中MD5算法(转帖)

2009-03-19 13:50 141 查看
先引用命名空间:

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));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: