5um
v5.0.2
Published
A 'hash' function module for Node.js written in C.
Downloads
85
Readme
5um
Fast "hash" algorithm designed for insecure hashing usage.
Sometimes you need a fast hash but you don't care about the security of the hash.
Use Cases
- Detect if a file has changed
You can check if a file has changed by using this hash funcion. - Fast Lookup in Large Data Sets
If you need to compare large volumes of data and only require a quick match - Duplicate Detection
You can employ "5um" to identify duplicates in extensive file collections where precision isn't critical, and you only need a fast way to identify similar files - Real-time Checksum Generation
In applications where rapid data integrity checks are needed in real-time, "5um" could provide a balance between speed and simplicity - Cache Key Generation
If you wish to use a hash for caching and retrieving data, and security isn't a concern, "5um" could be suitable - Search Algorithm Optimization
Certain search algorithms, such as those based on hash tables, might benefit from a fast hash like "5um" to expedite the search process
Installation
- Install the package
npm install 5um
- Compile the c function for your architecture
gcc -o ./node_modules/5um/dist/c/hash5um.so -shared -fPIC ./node_modules/5um/src/c/hash5um.c
Usage
- As a system command
npx 5um hello.txt
- As a module
const hash5um = require("5um");
const inputFile = process.argv[2];
const hash = hash5um('./hello.txt'); // returns a BigInt
console.log(hash.toString(16));
// npm install --save-dev @types/ffi-napi
import hash5um from "5um";
const inputFile = process.argv[2];
const hash = hash5um('./hello.txt'); // returns a BigInt
console.log(hash.toString(16));
Characteristics
- Fast
- Easy to use
- Insecure
- Reversible
- Predictable
- Collisions