hash-object
v5.1.0
Published
Get the hash of an object
Maintainers
Readme
hash-object
Get the hash of an object
Install
npm install hash-objectUsage
import hashObject from 'hash-object';
hashObject({'🦄': '🌈'}, {algorithm: 'sha1'});
//=> '3de3bc784035b559784fc276f47493d60555fba3'An async version that uses the Web Crypto API is also available. This works in browsers, edge runtimes, and Node.js 20+:
import hashObject from 'hash-object/async';
await hashObject({'🦄': '🌈'}, {algorithm: 'sha1'});
//=> '3de3bc784035b559784fc276f47493d60555fba3'[!NOTE] The async version only supports
sha1,sha256,sha384,sha512algorithms andhex,base64,bufferencodings.
API
hashObject(object, options?)
The output is deterministic for repeated runs on the same Node.js / browser version. It should also be fairly deterministic across JavaScript engines. However, because the stability of grapheme clusters across Unicode versions is not guaranteed, determinism cannot be guaranteed across JavaScript engines and versions. There are also other factors that can make it nondeterministic, like values with floating point numbers and dates.
object
Type: object
options
Type: object
encoding
Type: 'hex' | 'base64' | 'buffer' | 'latin1'
Default: 'hex'
The encoding of the returned hash.
algorithm
Type: string
Default: 'sha512'
Values: 'md5' | 'sha1' | 'sha256' | 'sha512' | … (Platform dependent)
The async version only supports 'sha1', 'sha256', 'sha384', and 'sha512'.
Don't use 'md5' or 'sha1' for anything sensitive. They're insecure.
Related
- hasha - Hashing made simple. Get the hash of a buffer/string/stream/file.
