JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1726957
  • Score
    100M100P100Q192058F
  • License MIT

A simple SHA-256 / SHA-224 hash function for JavaScript supports UTF-8 encoding.

Package Exports

  • js-sha256
  • js-sha256/src/sha256

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (js-sha256) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

js-sha256

Build Status Build Status
NPM
A simple SHA-256 / SHA-224 hash function for JavaScript supports UTF-8 encoding.

Demo

SHA256 Online
SHA224 Online

Download

Compress
Uncompress

Installation

You can also install js-sha256 by using Bower.

bower install js-sha256

For node.js, you can use this command to install:

npm install js-sha256

Usage

You could use like this:

sha256('Message to hash');
sha224('Message to hash');

If you use node.js, you should require the module first:

sha256 = require('js-sha256');

or

sha256 = require('js-sha256').sha256;
sha224 = require('js-sha256').sha224;

Methods

sha256(str, asciiOnly)

Hash string to sha256, set asciiOnly to true for better performace if you ensure input is ascii.

str: String

String to hash.

asciiOnly: Boolean (default: false)

Specify the string encoding is ASCII.

sha224(str, asciiOnly)

Hash string to sha224, set asciiOnly to true for better performace if you ensure input is ascii.

str: String

String to hash.

asciiOnly: Boolean (default: false)

Specify the string encoding is ASCII.

Example

Code

sha256('');
sha256('The quick brown fox jumps over the lazy dog', true);
sha256('The quick brown fox jumps over the lazy dog.', true);
sha224('');
sha224('The quick brown fox jumps over the lazy dog', true);
sha224('The quick brown fox jumps over the lazy dog.', true);

Output

e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c
d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
730e109bd7a8a32b1cb9d9a09aa2325d2430587ddbc0c38bad911525
619cba8e8e05826e9b8c519c0a5c68f4fb653e8a3d8aa04bb2c8cd4c

It also supports UTF-8 encoding:

Code

sha256('中文');
sha224('中文');

Output

72726d8818f693066ceb69afa364218b692e62ea92b385782363780f47529c21
dfbab71afdf54388af4d55f8bd3de8c9b15e0eb916bf9125f4a959d4

Benchmark

UTF8
ASCII

Extensions

jQuery

If you prefer jQuery style, you can add following code to add a jQuery extension.

Code

jQuery.sha256 = sha256
jQuery.sha224 = sha224

And then you could use like this:

$.sha256('message');
$.sha224('message');

Prototype

If you prefer prototype style, you can add following code to add a prototype extension.

Code

String.prototype.sha256 = function() {
  return sha256(this);
};
String.prototype.sha224 = function() {
  return sha224(this);
};

And then you could use like this:

'message'.sha256();
'message'.sha224();

License

The project is released under the MIT license.

Contact

The project's website is located at https://github.com/emn178/js-sha256
Author: emn178@gmail.com