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

README.md

Shaker

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).

Usage

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.