Giter Club home page Giter Club logo

clj-message-digest's Introduction

# clj-message-digest

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

For each digest algorithm supported by java.security.MessageDigest
(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
string.

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
<http://gertalot.com/2011/06/28/md5-hash-from-a-file-in-clojure/> and
<http://tomlee.co/2009/06/clojure-and-messagedigest/>.

## Usage

  (use 'clj-message-digest.core)

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

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

## Installation

From [email protected]:ray1729/clj-message-digest.git for now, will make
its way to Clojars RSN.
  
## Changes For 1.3.0 Compatibility

Removed clojure.contrib.io 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: clojure.java.io/input-stream

## License

Copyright (C) 2011 Ray Miller <[email protected]>

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

## Acknowledgements

Thank you to Jeff Sacks for updating to Clojure 1.3.

clj-message-digest's People

Contributors

jrsacks avatar ray1729 avatar tobiasbayer avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.