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
506 Stars 24 Forks MIT License 24 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

# 80
Shell
exec
test-fr...
nextjs
18 commits
# 46,398
Node.js
chalk
ESLint
exec
2 commits
# 99,631
transit
CSS
gzip
wikiped...
1 commit
# 26,159
angular...
fp
chromiu...
awk
1 commit
# 7,406
TypeScr...
iterm2
Node.js
exec
1 commit
# 6,862
chalk
iterm2
exec
Electro...
1 commit

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

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).

This package is more modern browsers. IE11 is not supported.

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.