A libsodium wrapper for D
Clone or download
b1naryth1ef Merge pull request #6 from MetaLang/windows-dub
Add Windows build support to dub.json
Latest commit ae3c578 Aug 27, 2018
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