Хэш-файлы в Node.js: Crypto, MD5 и SHA-1

Для хеширования файлов в Node.js можно использовать различные методы и библиотеки. Вот несколько популярных подходов:

  1. Модуль Crypto: Node.js имеет встроенный модуль crypto, который обеспечивает криптографические функции. Вы можете использовать функцию createHashдля создания хеша файла. Вот пример:
const crypto = require('crypto');
const fs = require('fs');
const filePath = 'path/to/file.txt';
const hash = crypto.createHash('sha256');
const input = fs.createReadStream(filePath);
input.on('readable', () => {
  const data = input.read();
  if (data)
    hash.update(data);
  else {
    const fileHash = hash.digest('hex');
    console.log('File Hash:', fileHash);
  }
});
  1. Файл MD5: Библиотека md5-file— это простой инструмент, который вычисляет хэш MD5 файла. Вы можете установить его с помощью npm:
npm install md5-file

Пример использования:

const md5File = require('md5-file');
const filePath = 'path/to/file.txt';
md5File(filePath, (err, hash) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('File Hash:', hash);
});
  1. Файл SHA-1. Библиотека sha1-fileпредоставляет аналогичную функциональность для расчета хэша SHA-1 файла. Установите его с помощью npm:
npm install sha1-file

Пример использования:

const sha1File = require('sha1-file');
const filePath = 'path/to/file.txt';
const hash = sha1File(filePath);
console.log('File Hash:', hash);