Message digest (MD5, SHA-1, etc.) functions for Clojure
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


# clj-message-digest

Message digest (MD5, SHA-1, etc.) functions for Clojure 1.3.0

For each digest algorithm supported by
(MD2, MD5, SHA-1, SHA-256, SHA-384 and SHA-512), this namespace
provides three functions. The first, named after the lower-case
algorithm name, returns a digest as a byte array; the second function
(suffix "-hex") returns the digest as a hex string; and the third
function (suffix "-base64") returns the digest as a base-64 encoded

For example, for the MD5 algorithm, three functions are provided:

* md5
* md5-hex
* md5-base64

These functions are implemented as multimethods, currently defined
for byte array, string, input stream, and file objects.

The implementation borrows code from
<> and

## Usage

  (use 'clj-message-digest.core)

  (md5-hex "some string")
  (md5-base64 "some string")

  (sha-1-hex (File. "/some/file"))

## Installation

From for now, will make
its way to Clojars RSN.
## Changes For 1.3.0 Compatibility

Removed dependencies:
* replaced *byte-array-type* with: (class (make-array Byte/TYPE 0))
* replaced to-byte-array with: (.getBytes s "UTF-8")
* replaced input-stream with:

## License

Copyright (C) 2011 Ray Miller <>

Distributed under the Eclipse Public License, the same as Clojure.

## Acknowledgements

Thank you to Jeff Sacks for updating to Clojure 1.3.