crypto-hash
v3.1.0
Published
Tiny hashing module that uses the native crypto API in Node.js and the browser
Downloads
846,175
Maintainers
Readme
crypto-hash
Tiny hashing module that uses the native crypto API in Node.js and the browser
Useful when you want the same hashing API in all environments. My cat calls it isomorphic.
In Node.js it uses node:crypto
, while in the browser it uses window.crypto
.
The browser version is only ~300 bytes minified & gzipped.
When used in the browser, it must be in a secure context (HTTPS).
This package is for modern browsers. Internet Explorer is not supported.
Install
npm install crypto-hash
Usage
import {sha256} from 'crypto-hash';
console.log(await sha256('🦄'));
//=> '36bf255468003165652fe978eaaa8898e191664028475f83f506dabd95298efc'
API
sha1(input, options?)
sha256(input, options?)
sha384(input, options?)
sha512(input, options?)
Returns a Promise<string>
with a Hex-encoded hash.
In Node.js, the operation is executed using worker_threads
. A thread is lazily spawned on the first operation and lives until the end of the program execution. It's unref
ed, so it won't keep the process alive.
SHA-1 is insecure and should not be used for anything sensitive.
input
Type: string
ArrayBuffer
ArrayBufferView
options
Type: object
outputFormat
Type: string
Values: 'hex' | 'buffer'
Default: 'hex'
Setting this to buffer
makes it return an ArrayBuffer
instead of a string
.
Related
- hasha - Hashing in Node.js made simple