Skip to content
/ js-md5 Public

A simple MD5 hash function for JavaScript supports UTF-8 encoding.

License

Notifications You must be signed in to change notification settings

emn178/js-md5

Folders and files

NameName
Last commit message
Last commit date
Sep 27, 2023
Sep 27, 2023
Oct 9, 2023
Sep 27, 2023
Sep 27, 2023
Dec 18, 2017
Dec 18, 2017
Oct 9, 2023
Sep 27, 2023
Sep 27, 2023
Oct 9, 2023
Oct 9, 2023
Oct 18, 2023
Oct 9, 2023

Repository files navigation

js-md5

Build Status Coverage Status
NPM

A simple and fast MD5 hash function for JavaScript supports UTF-8 encoding.

Demo

MD5 Online
MD5 File Checksum Online

Download

Compress
Uncompress

Benchmark

jsPerf Benchmark
File Benchmark

Installation

You can also install js-md5 by using Bower.

bower install md5

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

npm install js-md5

Notice

buffer method is deprecated. This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.

Usage

You could use like this:

md5('Message to hash');
var hash = md5.create();
hash.update('Message to hash');
hash.hex();

// HMAC
md5.hmac('key', 'Message to hash');

var hash = md5.hmac.create('key');
hash.update('Message to hash');
hash.hex();

Node.js

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

var md5 = require('js-md5');

TypeScript

If you use TypeScript, you can import like this:

import { md5 } from 'js-md5';

RequireJS

It supports AMD:

require(['your/path/md5.js'], function(md5) {
// ...
});

See document

Example

md5(''); // d41d8cd98f00b204e9800998ecf8427e
md5('The quick brown fox jumps over the lazy dog'); // 9e107d9d372bb6826bd81d3542a419d6
md5('The quick brown fox jumps over the lazy dog.'); // e4d909c290d0fb1ca068ffaddf22cbd0

// It also supports UTF-8 encoding
md5('中文'); // a7bac2239fcdcb3a067903d8077c4a07

// It also supports byte `Array`, `Uint8Array`, `ArrayBuffer`
md5([]); // d41d8cd98f00b204e9800998ecf8427e
md5(new Uint8Array([])); // d41d8cd98f00b204e9800998ecf8427e

// Different output
md5(''); // d41d8cd98f00b204e9800998ecf8427e
md5.hex(''); // d41d8cd98f00b204e9800998ecf8427e
md5.array(''); // [212, 29, 140, 217, 143, 0, 178, 4, 233, 128, 9, 152, 236, 248, 66, 126]
md5.digest(''); // [212, 29, 140, 217, 143, 0, 178, 4, 233, 128, 9, 152, 236, 248, 66, 126]
md5.arrayBuffer(''); // ArrayBuffer
md5.buffer(''); // ArrayBuffer, deprecated, This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.
md5.base64(''); // 1B2M2Y8AsgTpgAmY7PhCfg==

// HMAC
md5.hmac.hex('key', 'Message to hash');
md5.hmac.array('key', 'Message to hash');
// ...

License

The project is released under the MIT license.

Contact

The project's website is located at https://github.com/emn178/js-md5
Author: Chen, Yi-Cyuan (emn178@gmail.com)