有关c#MD5格式的简单介绍与运用
文章里面的字有没有用我不知道,但是代码肯定有用(快赞我~~ 滑稽~~)
MD5作用描述
该MD5作用,能够对读取到的文件路径以及路径文件数据进行生成加密密码。而我,一般用来对unity的assetbundle打包进行密码生成并判别文件数据是否丢失。
相关代码
废话不多说,先上代码
public static string GetMD5(string path) {
using (FileStream file=new FileStream(path,FileMode.Open)) {
MD5 md5 =MD5.Create();
byte[] data = md5.ComputeHash(file);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.Length; i++) {
sb.Append(data[i].ToString("X2"));
}
return sb.ToString().ToUpper();
}
}
代码逻辑解读
(先声明,文件使用IO流,不懂IO流的小伙伴们就自己百度吧。)
我们既然想要对文件进行加密,又想判断文件完整性,那md5应该是不可多得的方法。
首先我们要拿到我们要加密的文件路径以及文件名,并把这个路径传进上面的方法。using(){}语句段能都在执行玩代码语句段的时候自动执行对象的释放,避免对象一直存在于内存中,造成内存浪费。
使用文件IO流,读取文件路径下文件数据并转换成文件流。实例化MD5对象,并使用MD5和文件流
生成二进制的加密数组。
引用System.Text,使用字符串拼接的方式,在遍历二进制数组的情况下,一个一个的把二进制拼接成一个十六进制2位数的字符串。
最后再进行一个字符串的返回,注意,返回的字符串如果是字母,那都是大写的!!!