Need help with crypto-hash?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

sindresorhus
492 Stars 21 Forks MIT License 22 Commits 3 Opened issues

Description

Tiny hashing module that uses the native crypto API in Node.js and the browser

Services available

!
?

Need anything else?

Contributors list

crypto-hash Build Status

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

require('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).

Install

$ npm install crypto-hash

Usage

const {sha256} = require('crypto-hash');

(async () => { console.log(await sha256('🦄')); //=> '5df82936cbf0864be4b7ba801bee392457fde9e4' })();

API

sha1(input, options?)

sha256(input, options?)

sha384(input, options?)

sha512(input, options?)

Returns a

Promise
with a hex-encoded hash.

In Node.js 12 or later, 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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.