Skip to content

Features

Gurpreet Paul edited this page Nov 18, 2022 · 6 revisions

General

  • Kotlin compatible.
  • Fat-jar compatible; can be used in applications such as SpringBoot.
  • Up-to-date with the awesome Libsodium library (version 1.0.18, 17th Nov 2022).
  • Bundled and compiled native libraries so you don't have to.
  • Ability to use commercially under the terms of the MPLv2.
  • Great collaborative documentation.
  • Reactive and fast release cadence.
  • Bring your own Libsodium native libraries.
  • Lazysodium for Android and Lazysodium for Java both benefit from the same codebase.
  • They both have been designed with JNA Direct Mapping for extra speed.
  • Architected in a composite oriented fashion to allow developers to narrow what operation they want to use at any time - less opportunity for bugs.
  • Architected in such a way that you can use raw JNA wrapped native C functions whenever you want.
  • Super easy install.
  • Completely open source.

Operations list

A checkmark in the Native column means that the particular operation has C native functions written for Java and Android. A checkmark in the Lazy column means that the particular operation has been smartly implemented so that the developer has an effortless experience on Java and Android. A checkmark in the Tests column means that testing has been performed on that operation for both Java and Android.

Operation Native Lazy Tests
Auth - crypto_auth* functions
AEAD -crypto_aead* functions
Box - crypto_box* functions
Diffie-Hellman - crypto_scalarmult* functions
Ed25519 to Curve25519 - crypto_sign_ed25519 functions
GenericHash - crypto_generichash* functions
HMAC-SHA-2 - crypto_auth_hmacsha* functions
KeyDerivation - crypto_kdf* functions
KeyExchange - crypto_kx* functions
Padding - several padding functions
PwHash - crypto_pwhash*functions
Random - several randomisation functions
Scrypt - crypto_pwhash_scrypt* functions2
SecretBox - crypto_secretbox* functions
SecretStream - crypto_secretstream* functions
SHA256/SHA512 - crypto_hash* functions
ShortHash - crypto_shorthash* functions
Sign - crypto_sign* functions
Stream Ciphers1 - crypto_stream* functions
SecureMemory - sodium_m functions

Footnotes

  1. The Android variant does not have Salsa20 8 and 12 rounds and no XChaCha20.
  2. The Android variant does not have functions of the following form: cryptoPwHashScryptSalsa208*

Please see this question in the FAQ for the reason as to why certain functions are not available on Android.

Clone this wiki locally