Security library for Clojure
Clojure Shell
Clone or download
Latest commit 35973fb Aug 29, 2017
Permalink
Failed to load latest commit information.
.gitignore Update .gitignore file. Dec 27, 2014
CHANGES.md Set version to 2.0.0 Aug 29, 2017
LICENSE Set proper license. Apr 3, 2015
README.adoc Set version to 2.0.0 Aug 29, 2017
build-docs.sh Rename build docs script. May 9, 2015
project.clj Set version to 2.0.0 Aug 29, 2017

README.adoc

Buddy - Security library for clojure.

Clojars Project

Introduction

buddy is a complete security library for clojure. With support for:

  • authentication, authorization & access rules (ring/compojure extensions)

  • secure hash functions (digest)

  • password hashing algorithms (bcrypt, pbkdf2, scrypt)

  • message/text signing (high level interface)

  • signature & authentication (mac & digital signature)

  • encryption (block, stream ciphers, nonces, salts)

  • key derivation functions (kdf)

Since version 0.3.0, buddy is split into four modules for improved modularity of the application and to allow people to include only wanted parts of buddy instead of one monolithic library.

Each module has its own functionality and its own documentation. This document/page only serves as an introduction to the library and the content of index.

If you are happy with the monolithic version of buddy, you may want include the "buddy" meta-package:

[buddy "2.0.0"]

In other case, see the concrete installation instructions of the module that you need.

Modules Summary

buddy-core

Cryptographyc API.

With that (maybe incomple) list of features:

  • cryptographic hash algorithms (digest)

  • key derivation algorithms (kdf)

  • digital signatures

  • message authentication (mac)

  • block ciphers

  • stream ciphers

  • padding schemes

  • nonces and salts

  • signature & authentication (mac & digital signature)

  • encryption (block & stream ciphers)

buddy-auth

Authentication and Authorization for ring and ring-based web applications.

With that list of features:

  • Authentication middlewares for ring.

  • Authorization middleware for ring.

  • Authentication/Authorization backends (token, http-basic, session).

  • Access rules system.

buddy-hashers

The collection of secure password hashers.

buddy-sign

High level message signing module.

With that list of features:

  • Json Web Signature

  • Json Web Encryption

  • Compact message signing