Catalog npm
Back to packageRELEASE DETAILS

2.0.2

npm

5um

A 'hash' function module for Node.js written in C.

Published11 Aug 2023
Direct dependencies4
Transitive dependenciesNot calculated

README

Current package documentation

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

  1. Install the package
npm install 5um
  1. 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

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 4

Native requirements
4 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
ffi-napi
Environment
{
  "local_name": "ffi-napi",
  "alias": false,
  "peer_metadata": null
}
^4.0.3runtime
@types/ffi-napi
Environment
{
  "local_name": "@types/ffi-napi",
  "alias": false,
  "peer_metadata": null
}
^4.0.7development
@types/node
Environment
{
  "local_name": "@types/node",
  "alias": false,
  "peer_metadata": null
}
^20.4.9development
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
^5.1.6development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-fTGd6Kh7NY00WysWvTIa8e+nHXUlKQ/yhUwXU/ILoDKBPNq3uasouQLdWpHRJXzLeKLKloIUvXX0IRLHKW2KlA==",
  "shasum": "753262f9e0924f94c5c73aa1992906f1ad83352f",
  "tarball": "https://registry.npmjs.org/5um/-/5um-2.0.2.tgz",
  "fileCount": 9,
  "unpackedSize": 86289,
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEUCIG6zHWhJYOcYoeDogiOttoTt1D88g7tV3/3Ocu6yZbNhAiEAvAFaH4S/JxvDodvnp75u+Bp6b5jqftGeo4CQ965mWG8="
    }
  ]
}

Repository

PENDING
stringmanolo/5um

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 20:40 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:403b1adee2f83704dab0c28f9635e5837526464f74ae722edf053e52da4f611c

Other collected versions

5.0.211 Aug5.0.111 Aug5.0.011 Aug4.0.1111 Aug4.0.1011 Aug4.0.911 AugView all collected versions →