Tag: md5

nodejsencryption模块,hash.update()将所有input存储在内存中

我有一个API路由代理从浏览器/客户端上传到AWS S3的file upload。 此API路由尝试在上传文件时对其进行stream式传输,以避免在服务器上caching文件的全部内容。 但是,路由也会尝试计算文件正文的MD5校验和。 随着文件的每个部分被分块, hash.update()方法被调用w / chunk。 http://nodejs.org/api/crypto.html#crypto_hash_update_data_input_encoding var crypto = require('crypto'); var hash = crypto.createHash('md5'); function write (chunk) { // invoked many times as file is uploaded hash.update(chunk); } function done() { // will hash buffer all chunks in memory at this point? hash.digest('hex'); } Hash的实例是否会缓冲文件的所有内容以执行散列计算(从而破坏了避免caching整个文件内存的目标)? 或者可以递增地计算MD5散列,而不需要整个input可用于执行计算?

Azure SDK – NodeJS – 重新上传blob时MD5散列值无效

我正在编写一个使用NodeJS Azure SDK的脚本来下载blob列表,并将blob重新上传到不同的存储容器。 var service = azure.createBlobService(); // download file service.getBlobToLocalFile(fromContainer, blob, localBlob, function(err, resp){ // resp here contains the MD5 hash // re-upload file specifying hash service.createBlockBlobFromLocalFile(toContainer, blob, localBlob, {contentMD5: resp.contentMD5}, function(error){}); // error here contains MD5 mis-match error }); 一些blob(不是全部)在上传时抛出一个错误,说明来自blob的MD5哈希是不正确的,即使我正在从getBlob操作传递MD5哈希: Error: The MD5 value specified in the request did not match with the […]

避免在Node.js服务器上重复内容

我有小型图像托pipe,我意识到有很多重复的内容。 我想在将来通过使用校验和或者散列代码来消除这个问题,新加载的文件将被散列,与现有的图像散列数据库相比,如果它已经存在,用户将被显示现有的图像链接。 所有在一个例子 我的设置是准系统Node.js + jQueryfile upload +2目录(一个用于论坛上传,另一个用于直接网页上传)。 什么是最好的(快速和可靠的)散列和数据库设置为了做到这一点考虑到可能在每个目录中有数千或百万个文件? 我认为MD5或SHA1是矫枉过正,可能需要大量的资源。 我想知道是否有更简单的解决scheme。 统计: 〜每天上传1000张图片 〜400 kb平均图像大小 在服务器中〜35,000图像 〜30%的重复内容(使用MD5进行testing)

在Node.js |中捕获致命错误 致命错误:CALL_AND_RETRY_0分配失败 – 进程内存不足

我想知道是否有办法赶上这个错误: FATAL ERROR: CALL_AND_RETRY_0 Allocation failed – process out of memory 我努力了: process.on('uncaughtException', function(err){ //do something }) 但是这并没有发现错误。 任何帮助将不胜感激 PS这发生在生成一个约18个文件的string的MD5散列时,我正在使用这样的md5模块: for(i=0;i<array.length;i++){ fs.readFile(array[i], function(err,buf){ console.log(mdf(buf)) }) }

NodeJS md5'bytestring'像PHP md5(str,true)

我遇到以下问题:我尝试将一些stringstr转换为md5 bytestring hash串md5 bytestring hash 。 在PHP中,我们可以使用md5(str, true) ,但是在JS(nodejs express)中我找不到某种方法来获得相同的结果。 我已经包含了npm模块js-md5 ,但是这个模块的arrayBuffer方法返回了另一个结果(不同于PHP md5(str,true))。 请有人帮助我吗? 谢谢

nodejs md5与base64摘要algorithm错误的结果

这是我的代码 var sig = crypto.createHash('md5') .update('The quick brown fox jumps over the lazy dog') .digest('base64'); console.log(sig) 导致nhB9nTcrtoJr2B01QqQZ1g== (在Mac OS X上)。 我试图从一个iOS应用程序生成相同的签名。 目标c中的结果与在线转换器站点中的结果相同: string The quick brown fox jumps over the lazy dog 转换为md5 ,我得到了9e107d9d372bb6826bd81d3542a419d6 , 而这个base64是OWUxMDdkOWQzNzJiYjY4MjZiZDgxZDM1NDJhNDE5ZDY= 。 为什么这些string不同? 这不是nodejsencryption模块正在做什么? 获得用base64消化的md5哈希的nodejsalgorithm的等价物是什么?