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.

Version 1.1.0 makes it possible to use a native scrypt implementation.

Changes Between 1.0.0 and 1.1.0

Lambdaworks Scrypt Upgrade

Lambdaworks Scrypt is updated to 1.4.0, which makes it possible to use a native implementation of the library.

To quote the docs:

The system property "com.lambdaworks.jni.loader" may be set to override
the default native library loader with one of the following values:

 * nil: refuse to load native libraries and revert to pure Java implementation
 * jar: extract native library from jar and load with System.load
 * sys: use System.loadLibrary, which may require java.library.path to be set

Clojure 1.3 Support Dropped

Scrypt no longer officially supports Clojure 1.3.

Scrypt is a ClojureWerkz Project

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

  • Langohr, a Clojure client for RabbitMQ that embraces the AMQP 0.9.1 model
  • Elastisch, a minimalistic Clojure client for ElasticSearch
  • Monger, a Clojure MongoDB client for a more civilized age
  • Welle, a Riak client with batteries included
  • Neocons, a Clojure client for the Neo4J REST API
  • Cassaforte, a Clojure client for Cassandra built around CQL

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.

About the Author

Michael on behalf of the ClojureWerkz Team.