C#和js读取文件的MD5值

知道91 | .Net | 2015-11-23 | 阅读:6092

前言

文件的md5值,即文件签名,为了验证文件的正确性,是否被恶意篡改等。每个文件有一个唯一的md5值。

最近公司开发的app文件包的校验就有用到文件md5值。

加密

Csharp获取

①和上传文件一样,得到本地文件的集合,方法很多,我是用Ajax upload.js插件上传 在这里省略

②得到imgFile代码如下 sb.ToString()即为该文件的MD5值。

HttpPostedFile imgFile = context.Request.Files["imgFile"];//本地文件的集合
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(imgFile.InputStream);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
    sb.Append(retVal[i].ToString("x2"));
}
context.Response.Write(sb.ToString());

js获取文件的MD5

第一种方法获取文件MD5值得一个弊端是需要将文件流上传到服务端,当文件比较大的时候,读取会比较忙。所以后面从网上找到用js读取本地文件md5值得方法:

html代码


    

js代码



总结

总体来说,无论你是用哪种方法,如果要对文件进行操作的话,都需要把文件用流的形式读出来,然后拿到文件的MD5.