阿三哥 nodejs 生成 md5 hash 的做法

2015-08-18 11:35:20 +08:00
 coolicer
var s = fs.createReadStream (file, {start: 0, end: (64*1024 )-1});
他先读 64k ,然后再读剩下的,这样有什么好处,我看不出来呢

var sNew = fs.createReadStream (file, {start: stats['size']-(64*1024 ), end: stats['size']-1});
5078 次点击
所在节点    Node.js
7 条回复
EPr2hh6LADQWqRVH
2015-08-18 11:38:17 +08:00
好让硬盘有心理准备
coolicer
2015-08-18 11:42:34 +08:00
@avastms 哈哈,有点道理。不知道其他人怎么想
teriyaki
2015-08-19 03:31:29 +08:00
搅屎棍能搅出两大宗教无数经文

别和他们较真 t
cattail
2015-08-19 11:44:40 +08:00
First of all, 技术的好坏和种族没什么关系.

如何实现文件的 MD5 计算和具体应用相关, 如果文件体积小, 直接使用文件全部内容来计算就可以了. 但是文件较大时, 为了提高效率, 需要想办法在少读文件内容的情况下, 体现不同文件之间的差异.

看一下射手(字幕网)如何计算视频文件(体积大)的 hash 的 https://docs.google.com/document/d/1ufdzy6jbornkXxsD-OGl3kgWa4P9WO5NZb6_QYZiGI0/preview

这是我写的一个 python 实现 https://gist.github.com/CatTail/689afb24df0913bed2ad
coolicer
2015-08-19 11:46:58 +08:00
@cattail 我后面看了一上,头尾取 64kb 算 hash 好像是那个字幕站的 API 要求的。
coolicer
2015-08-19 11:47:13 +08:00
打错了个字。
jiangzhuo
2015-08-19 18:43:08 +08:00
@coolicer 头尾取 64k 算 hash 太蠢了,比如岛国爱情动作片,片长固定,开头是公司的固定片头,结尾是当季的新片或者热销片子的剪辑宣传,某段时间之内出的片子,片尾的宣传片固定。所以字幕根本没法看。逼着我们学外语

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/214000

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX