JavaScript MD5

Contents

  - Demo
  - Description
  - Usage
      - Client-side
      - Server-side
  - Requirements
  - API
  - Tests
  - License

Description

JavaScript MD5 implementation.
Compatible with server-side environments like Node.js,
module loaders like RequireJS or
webpack and all web browsers.

Usage

Client-side

Install the blueimp-md5 package with NPM:

npm install blueimp-md5

Include the (minified) JavaScript MD5
script in your HTML markup:



In your application code, calculate the
(hex-encoded)
MD5 hash of a string by calling the md5
method with the string as argument:

var hash = md5('value') // "2063c1608d6e0baf80249c42e2be5804"

Server-side

The following is an example how to use the JavaScript MD5 module on the
server-side with Node.js.

Install the blueimp-md5 package with NPM:

npm install blueimp-md5

Add a file server.js with the following content:

require('http')
  .createServer(function (req, res) {
    // The md5 module exports the md5() function:
    var md5 = require('./md5'),
      // Use the following version if you installed the package with npm:
      // var md5 = require("blueimp-md5"),
      url = require('url'),
      query = url.parse(req.url).query
    res.writeHead(200, { 'Content-Type': 'text/plain' })
    // Calculate and print the MD5 hash of the url query:
    res.end(md5(query))
  })
  .listen(8080, 'localhost')
console.log('Server running at http://localhost:8080/')

Run the application with the following command:

node server.js

Requirements

The JavaScript MD5 script has zero dependencies.

API

Calculate the (hex-encoded)
MD5 hash of a given string value:

var hash = md5('value') // "2063c1608d6e0baf80249c42e2be5804"

Calculate the (hex-encoded)
HMAC-MD5 hash of a given string value and
key:

var hash = md5('value', 'key') // "01433efd5f16327ea4b31144572c67f6"

Calculate the raw MD5 hash of a given
string value:

var hash = md5('value', null, true)

Calculate the raw HMAC-MD5 hash of a given
string value and key:

var hash = md5('value', 'key', true)

Tests

The JavaScript MD5 project comes with
Unit Tests.
There are two different ways to run the tests:

  - Open test/index.html in your browser or
  - run npm test in the Terminal in the root path of the repository package.

The first one tests the browser integration, the second one the
Node.js integration.

License

The JavaScript MD5 script is released under the
MIT license.
