为什么对整个文件流计算MD5比分块慢
时间:2011-12-22
来源:互联网
计算一个文件的MD5和把文件分成n分,计算每块的MD5。为什么对文件流计算的还慢呢?
C# code
C# code
HMACSHA1 hmac = new HMACSHA1(BitConverter.GetBytes(HashKey[0])); hashes = hmac.ComputeHash(data);//其中一个文件块,共n块 HMACSHA1 hmac2 = new HMACSHA1(BitConverter.GetBytes(HashKey[0])); hashes = hmac2.ComputeHash(fstream); //计算文件流hmac值// 计算
作者: c20110101 发布时间: 2011-12-22
因为流要对整个文件进行摘要,而块摘要就是那一块而已。
作者: sunzongbao2007 发布时间: 2011-12-22
对的。范围问题吧应该
作者: thy442030800 发布时间: 2011-12-22
抱歉,意思没讲清楚。我的意思是,对文件分割n块后,计算了n块的MD5,反而比对文件直接计算1个MD5的时间短。
作者: c20110101 发布时间: 2011-12-24
计算的数据量,都是文件大小
作者: c20110101 发布时间: 2011-12-24
分成5块,是把文件分成了5份,分别用流读取?还是将五块都放在内存里了?如果放在内存里,必然比直接用流快,原因不说你也明白吧,一个读内存一个读磁盘。
如果分成5块,但是没放内存里,而是写成了5个文件,然后分别用stream读取,这时候还比直接用stream快,那我只能猜测是用了多线程了。
如果分成5块,但是没放内存里,而是写成了5个文件,然后分别用stream读取,这时候还比直接用stream快,那我只能猜测是用了多线程了。
作者: sunzongbao2007 发布时间: 2011-12-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28