TL;DR

ClojureWerkz Scrypt is a tiny Clojure library for working with scrypt, a key derivation function. Scrypt can be used to hash passwords and generate cryptographic keys. It is an alternative to Bcrypt and PBKDF2.

Why Use Scrypt

Values (e.g. passwords) encrypted with Scrypt are much more computationally hard to crack than with most other available key derivation functions:

Key Derivation Function Comparison

More can be found in the scrypt paper.

What’s In The Box

Scrypt is literally a couple of functions:

  • Encrypt a value (e.g. a password)
  • Verify a candidate against a hash (e.g. against a password used to authenticate)

Documentation

Scrypt is a small library and all of its documentation guide fits in the README.

Supported Clojure Versions

Scrypt supports Clojure 1.3+.

News and Updates

New releases and updates are announced on Twitter.

Scrypt is a ClojureWerkz Project

Scrypt is part of the group of libraries known as ClojureWerkz, together with

  • Welle, a Riak client with batteries included
  • Monger, a Clojure MongoDB client for a more civilized age
  • Elastisch, a minimalistic Clojure client for ElasticSearch
  • Titanium, a powerful graph library built on top of Titan
  • Neocons, a Clojure client for the Neo4J REST API
  • Langohr, a Clojure client for RabbitMQ that embraces the AMQP 0.9.1 model
  • Quartzite, a powerful scheduling library

and several others. If you like Scrypt, you may also like our other projects.

Let us know what you think on Twitter or on the Clojure mailing list.

Michael on behalf of the ClojureWerkz Team.