Skip to content

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

License

Notifications You must be signed in to change notification settings

stroncium/crypto-hash

 
 

Repository files navigation

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.

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<string> with a hex-encoded hash.

Note that even though it returns a promise, in Node.js, the operation is synchronous 💩.

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

License

MIT © Sindre Sorhus

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 84.1%
  • TypeScript 15.9%