Skip to content
A libsodium wrapper for D
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A D wrapper around libsodium for simple encryption, signing, and other awesome cryptoness. This project is currently in heavy development and I promise to break it often (until a 1.0 like release).


Shaker provides two main avenues for using it, the first being a lightweight wrapper over the basics of libsodium allowing you to use it in a very object-oriented way, not present in the original libsodium library. However, for those that have a more custom use case or want to build out object-oriented primitives themselves, Shaker also exports all of the D-compatibile functions directly from libsodium.

D-like OO Usage

Encrypting Data

auto alice = new BoxKeyPair;
auto bob = new BoxKeyPair;

EncryptedBoxMessage message = alice.encrypt("Hey Bob, I think you're sexy!", bob);
bob.decrypt(message, alice); // "Hey Bob, I think you're sexy!"

Signing Data

auto alice = new SignKeyPair;
auto bob = new SignKeyPair;

SignedMessage message = alice.sign("This is definitely alice talking!");
message.signedBy(bob); // true
You can’t perform that action at this time.