A simple SHA-256 / SHA-224 hash function for JavaScript supports UTF-8 encoding.
For node.js, you can use this command to install:
npm install js-sha256
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;
And you could use like this:
sha256('Message to hash');
sha224('Message to hash');
Code
sha256('');
sha256('The quick brown fox jumps over the lazy dog');
sha256('The quick brown fox jumps over the lazy dog.');
sha224('');
sha224('The quick brown fox jumps over the lazy dog');
sha224('The quick brown fox jumps over the lazy dog.');
Output
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c
d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
730e109bd7a8a32b1cb9d9a09aa2325d2430587ddbc0c38bad911525
619cba8e8e05826e9b8c519c0a5c68f4fb653e8a3d8aa04bb2c8cd4c
It also supports UTF-8 encoding:
Code
sha256('中文');
sha224('中文');
Output
72726d8818f693066ceb69afa364218b692e62ea92b385782363780f47529c21
dfbab71afdf54388af4d55f8bd3de8c9b15e0eb916bf9125f4a959d4
You can open tests/index.html
in browser or use node.js to run test
node tests/node-test.js
or
npm test
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');
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();
The project is released under the MIT license.
The project's website is located at https://github.com/emn178/js-sha256
Author: emn178@gmail.com