V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coolicer
V2EX  ›  Node.js

阿三哥 nodejs 生成 md5 hash 的做法

  •  
  •   coolicer · 2015-08-18 11:35:20 +08:00 · 5186 次点击
    这是一个创建于 3375 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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});
    第 1 条附言  ·  2015-08-18 14:01:21 +08:00
    我看错了,应该是头尾各 64kb 。
    7 条回复    2015-08-19 18:43:08 +08:00
    EPr2hh6LADQWqRVH
        1
    EPr2hh6LADQWqRVH  
       2015-08-18 11:38:17 +08:00
    好让硬盘有心理准备
    coolicer
        2
    coolicer  
    OP
       2015-08-18 11:42:34 +08:00
    @avastms 哈哈,有点道理。不知道其他人怎么想
    teriyaki
        3
    teriyaki  
       2015-08-19 03:31:29 +08:00 via iPad
    搅屎棍能搅出两大宗教无数经文

    别和他们较真 t
    cattail
        4
    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
        5
    coolicer  
    OP
       2015-08-19 11:46:58 +08:00
    @cattail 我后面看了一上,头尾取 64kb 算 hash 好像是那个字幕站的 API 要求的。
    coolicer
        6
    coolicer  
    OP
       2015-08-19 11:47:13 +08:00
    打错了个字。
    jiangzhuo
        7
    jiangzhuo  
       2015-08-19 18:43:08 +08:00
    @coolicer 头尾取 64k 算 hash 太蠢了,比如岛国爱情动作片,片长固定,开头是公司的固定片头,结尾是当季的新片或者热销片子的剪辑宣传,某段时间之内出的片子,片尾的宣传片固定。所以字幕根本没法看。逼着我们学外语
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5462 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 07:03 · PVG 15:03 · LAX 23:03 · JFK 02:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.