Get the hash of an object
Original version used node-specific node:crypto
import syntax which made it incompatible with webpack.
Slightly modified it to fit my needs, that's all.
npm install @gummy47/hash-object
import hashObject from 'hash-object';
hashObject({'🦄': '🌈'}, {algorithm: 'sha1'});
//=> '3de3bc784035b559784fc276f47493d60555fba3'
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.
Type: object
Type: object
Type: 'hex' | 'base64' | 'buffer' | 'latin1'
Default: 'hex'
The encoding of the returned hash.
Type: string
Default: 'sha512'
Values: 'md5' | 'sha1' | 'sha256' | 'sha512' | …
(Platform dependent)
Don't use 'md5'
or 'sha1'
for anything sensitive. They're insecure.