Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sebhoss/bc-clj

Clojure wrapper for Bouncy Castle
https://github.com/sebhoss/bc-clj

bouncycastle clojure

Last synced: 14 days ago
JSON representation

Clojure wrapper for Bouncy Castle

Awesome Lists containing this project

README

        

h1. bc-clj "!https://travis-ci.org/sebhoss/bc-clj.png!":https://travis-ci.org/sebhoss/bc-clj "!http://www.ohloh.net/p/bc-clj/widgets/project_thin_badge.gif!":https://www.ohloh.net/p/bc-clj/

p. Clojure wrapper for "Bouncy Castle":http://www.bouncycastle.org/

h2. Usage

p. The library lives under @bouncycastle@ and is divided into the following namespaces and functions:

h3. digest/

p. Digests such as @gost3411@, @md2@, @md4@, @md5@, @ripemd128@, @ripemd160@, @ripemd256@, @ripemd320@, @sha1@, @sha224@, @sha256@, @sha384@, @sha512@, @sha3@, @tiger@, @whirepool@. All functions expect an byte-array as input and return a new byte-array as output. Have a look at the "tests":https://github.com/sebhoss/bc-clj/blob/master/src/test/clojure/bouncycastle/digest_test.clj to see how these functions work.

h3. hmac/

p. HMAC implementation based on the digests defined above. Again all functions operate on byte-arrays. Take a look at the "tests":https://github.com/sebhoss/bc-clj/blob/master/src/test/clojure/bouncycastle/hmac_test.clj for details.

h3. encoding/

p. Provides functions to encode byte-arrays into a @hex@- or @base64@ string.

h3. key-generator/

p. Provides @(generate-key)@ to generate a symmetric key and @(generate-keypair)@ to generate a public/private key-pair. Both need an algorithm name and optionally the key-strength in bit and optionally a source of randomness. The "tests":https://github.com/sebhoss/bc-clj/blob/master/src/test/clojure/bouncycastle/key_generator_test.clj show how to use the function.

h2. Integration

h3. Maven

bc.

com.github.sebhoss
bc-clj
[2.0.0,3.0.0)

h3. Leiningen

bc. [com.github.sebhoss/bc-clj "[2.0.0,3.0.0)"]

h2. License

p. This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See "http://www.wtfpl.net/":http://www.wtfpl.net/ for more details.

h2. Alternatives

p. In case you're looking for something else, try:

* "https://bitbucket.org/tebeka/clj-digest":https://bitbucket.org/tebeka/clj-digest
* "https://github.com/ray1729/clj-message-digest":https://github.com/ray1729/clj-message-digest
* "https://github.com/franks42/clj.security.message-digest":https://github.com/franks42/clj.security.message-digest
* "https://github.com/xsc/pandect":https://github.com/xsc/pandect