@vates/json-hash

0.2.0 • Public • Published

@vates/json-hash

Package Version License PackagePhobia Node compatibility

Compute a stable hash from a JSON-ifiable value

Install

Installation of the npm package:

npm install --save @vates/json-hash

Usage

The use for this librariy is to create a composite key from a JSON value, ignoring objects identity and properties order.

The hash algorithm used is intended to be fast and with low collisions and is not guaranteed to be be secure.

The hash is encoded using Base64 URL to make it easy to use in URLs and filenames.

import { jsonHash } from '@vates/json-hash'

console.log(jsonHash('foo'))
// → "siEyldVkkW-JpqQkVVZ8h8P0gPzXocFeIg8X1xaaeQs"

// order of properties is ignored
console.log(jsonHash({ foo: 0, bar: 1 }))
// → "JckoRSMIBjNlgEWIXhgpBOuyLQYqABZqvf1ccb3BPg0"
console.log(jsonHash({ bar: 1, foo: 0 }))
// → "JckoRSMIBjNlgEWIXhgpBOuyLQYqABZqvf1ccb3BPg0"

Contributions

Contributions are very welcomed, either on the documentation or on the code.

You may:

  • report any issue you've encountered;
  • fork and create a pull request.

License

ISC © Vates SAS

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i @vates/json-hash

    Weekly Downloads

    0

    Version

    0.2.0

    License

    ISC

    Unpacked Size

    3.56 kB

    Total Files

    3

    Last publish

    Collaborators

    • mlssfrncjrg
    • b-nollet
    • arnogues
    • florent.beauchamp
    • mathieura
    • enishowk
    • tgoettelmann
    • julien-f
    • marsaud
    • olivierlambert
    • pdonias