sumi-hash
v1.0.1
Published
A collection of hash algorithms. MD5, SHA1, SHA2, SHA3, RFC4122 UUID ver.1, 2, 3, 4, etc.
Downloads
49
Maintainers
Readme
sumi-hash
A collection of hash algorithms. MD5, RIPEMD-160, SHA-1, SHA-2, SHA-3, RFC4122 UUID version 1, 3, 4, 5, bla bla etc. Stand alone mod, no dependencies.
Target environments
- IE 6+
- Latest Stable: Firefox, Chrome, Safari, Opera
- Node.js & other non-browser environments or browser extensions
Features
- RFC4122 UUID version 1, 3, 4, 5.
- MD5, RIPEMD-160.
- SHA-1, SHA2-256, SHA2-512, SHA3-256(Keccak).
- BLAKE, Blue Midnight Wish, CubeHash, Shabal, Skein, etc.
- It has no dependencies. The entire set of modules clocks in at
12kb
minified and gzipped.
Quick start
Four quick start options are available:
- Download the latest release
- Clone the repo:
git clone https://github.com/rainersu/hash.git
- Install with Bower:
bower install sumi-hash
- Install with npm:
npm install sumi-hash
Example use
Including in a browser:
<script type='text/javascript' src='/path/to/sumi-hash-1.0.1.min.js'></script>
<script type='text/javascript'>
console.log(sumiHash.md5('abs', 'key')); // 8c2c9d4bf3277c688e72a2b020ada7b1
</script>
As a module that works with AMD(e.g., RequireJS):
define(['/path/to/sumi-hash-1.0.1.min.js'], function(Hash) {
console.log(Hash.sha3('[email protected]'));
// 96bbfb5f4e6eb42cc53c37fb9dd54ea213fc4e38e4750b757cff29c330367ab9
});
Including in a CommonJS environment(e.g., Node.js):
var Hash = require('/path/to/sumi-hash');
console.log(Hash.uuid3('ns:DNS', 'php.net'));
// 11a38b9a-b3da-360f-9353-a5a725514269
Build from source
First, you need to have Node.js and Grunt installed.
$ git clone [email protected]:rainersu/hash.git
$ npm install -g grunt-cli
$ cd hash
$ npm install
$ grunt
It provides compiled JS (sumi-hash.*
), as well as compiled and minified JS (sumi-hash.min.*
). JS source maps (sumi-hash.*.map
) are available for use with certain browsers' developer tools.
Running demos for testing
$ grunt test
Build & running documentation locally
$ grunt help
Sorry, the documentation is currently offered only in the Chinese language. Do you have time to help me with some Chinese - English translations?