3

所以基础项目是这个......

我正在尝试编写一个服务器应用程序,它将从网站下载和散列文件。

这样做的原因是,我可以将以不同名称重新上传的特定文件列入黑名单,或者提供有关文件真实内容的进一步描述。这些文件有 0.1KB - 10.00MB 等等。如果我可以在一个合理的大致数字内检测到一个文件已经被散列,我可以返回散列而不是下载整个文件并发送结果。

我的临时解决方案是一个 JavaScript 插件,它可以在现场完成。这会导致暂时冻结,并且对我来说太多余了。我的目标是让它变得足够好与公众分享;目前的方法远非如此。

我在编程方面的技能非常广泛,但在任何个人中都不是专业或完善的,因此高度赞赏图书馆或示例。


我的java脚本代码的一个片段是这个......

    $('.tablesorter tbody tr').each(function(index) {
        var href = 'http:' + $(this).find("td a:eq(0)").attr('href');
        var MD5  = "";
        $.get(href, function(data) {
            MD5 = calcMD5(data);
            $(".tablesorter tbody tr:eq("+index+") td:eq(3)").text(MD5); 
         });
    });

这很好用,可以满足需要。但是,我想让服务器执行此操作,以便文件只需要进行一次哈希处理。

4

1 回答 1

2

假设您的问题是您希望最小化使用的带宽量,您可以将下载的数据量限制为前 100kb,并在该部分上构建您的散列。您可以使用的其他信息是服务器在标头中发送的任何信息,例如总文件大小和 MIME 文件类型。

显然,如果您希望查看的文件在文件后面的部分不同,这将不起作用。但它应该适用于图像或其他压缩文件格式。

于 2012-06-12T17:15:34.060 回答