Package Exports
- ohash
Readme
ohash
Super fast hashing library written in Vanilla JS
Usage
Install package:
# npm
npm install ohash
# yarn
yarn add ohash
# pnpm
pnpm install ohashImport:
// ESM
import { hash, objectHash, murmurHash, sha256 } from 'ohash'
// CommonJS
const { hash, objectHash, murmurHash, sha256 } = require('ohash')hash(object, options?)
Converts object value into a string hash using objectHash and then applies sha256 (trimmed by length of 10).
Usage:
import { hash } from 'ohash'
// "7596ed03b7"
console.log(hash({ foo: 'bar'}))objectHash(object, options?)
Converts a nest object value into a stable and safe string for hashing.
Usage:
import { objectHash } from 'ohash'
// "object:1:string:3:foo:string:3:bar,"
console.log(objectHash({ foo: 'bar'}))murmurHash(str)
Converts input string (of any length) into a 32-bit positive integer using MurmurHash3.
Usage:
import { murmurHash } from 'ohash'
// "2708020327"
console.log(murmurHash('Hello World'))sha256
Create a secure SHA 256 digest from input string.
import { sha256 } from 'ohash'
// "a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e"
console.log(sha256('Hello World'))💻 Development
- Clone this repository
- Enable Corepack using
corepack enable(usenpm i -g corepackfor Node.js < 16.10) - Install dependencies using
pnpm install - Run interactive tests using
pnpm dev
License
Made with 💛
Published under MIT License.
Based on puleos/object-hash by Scott Puleo, and implementations from perezd/node-murmurhash and garycourt/murmurhash-js by Gary Court and Austin Appleby and brix/crypto-js.