@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

Readme

Keywords

Package Sidebar

Install

npm i @vates/json-hash

Weekly Downloads

19

Version

0.2.0

License

ISC

Unpacked Size

3.56 kB

Total Files

3

Last publish

Collaborators

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