123456789101112131415161718192021222324252627 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.hashFile = void 0;
- const crypto_1 = require("crypto");
- const fs_1 = require("fs");
- const bufferSize = 1024;
- const buffer = Buffer.alloc(bufferSize);
- function hashFile(filePath) {
- const sha = crypto_1.createHash("sha256");
- const fileDescriptor = fs_1.openSync(filePath, "r");
- const size = fs_1.statSync(filePath).size;
- let totalBytesRead = 0;
- while (totalBytesRead < size) {
- const bytesRead = fs_1.readSync(fileDescriptor, buffer, 0, Math.min(size - totalBytesRead, bufferSize), totalBytesRead);
- if (bytesRead < bufferSize) {
- sha.update(buffer.slice(0, bytesRead));
- }
- else {
- sha.update(buffer);
- }
- totalBytesRead += bytesRead;
- }
- fs_1.closeSync(fileDescriptor);
- return sha.digest("hex");
- }
- exports.hashFile = hashFile;
|