MD5算法
是一种散列(hash)算法,不是一种加密算法。主要是验明真身字符串与文件均可。
介绍工具:CaicMD5
1、MD5是不可逆的,MD5长度一般是32位的16进制数字符串
//计算字符串的Md5值
public static stringEncryptString(string str)
{
//1.创建一个Md5对象
MD5md5Obj = MD5.Create();
//1.1把字符串转换为一个byte数组
byte[]byts = System.Text.Encoding.Default.GetBytes(str);
//2.使用md5进行字符串处理
byte[]md5Byts = md5Obj.ComputeHash(byts);
//3.释放资源
md5Obj.Clear();//类似于Dispose();
md5Obj.Dispose();
StringBuildersb = new StringBuilder();
//4.返回处理以后的结果
for(int i = 0; i < md5Byts.Length; i++)
{
sb.Append(md5Byts[i].ToString("x2"));
}
returnsb.ToString();
}
//文件MD5加密
public static string EncryptFile(stringpath)
{
using(FileStream fs = File.Open(path,FileMode.Open))
{
using(MD5 md5Obj = MD5.Create())
{
byte[]md5Byts = md5Obj.ComputeHash(fs);
StringBuildersb = new StringBuilder();
for(int i = 0; i < md5Byts.Length; i++)
{
sb.Append(md5Byts[i].ToString("x2"));
}
returnsb.ToString();
}
}
}