Skip to content

algorandfoundation/lazysodium-java

 
 

Repository files navigation

Why this Fork

This fork was created to make the Ed25519 low-level API functions available, e.g. Ed25519 scalar multiplication. While Ristretto255 and Curve25519 do have all or some methods exposed, Ed25519 do not.

Additionally, since this is meant to be used for Algorand's wallet the LazySodium-Android files (SodiumAndroid, LazySodiumAndroid, Base64) have been added under the main path. However, the binaries are not kept together with the Linux/Mac/Windows binaries, they can be found in the LazySodium-Android repository here. Just as the binaries are stored under lazysodium-android/app/src/main /jniLibs/ you should copy+paste them into your Android app in the equivalent path with the same jniLibs folder name, and then adjust the build gradle file accordingly.

Check out this Arc52 sample Android app for further clarification.

Lazysodium for Java

Lazysodium is a complete Java (JNA) wrapper over the Libsodium library that provides developers with a smooth and effortless cryptography experience.

Checks Maven Central

Features

This library is fully compatible with Kotlin.

You can find an up-to-date feature list here.

Quick start

Please view the official documentation for a more comprehensive guide.

The following example is for users of the build tool Gradle:

// Top level build file
repositories {
    // Add this to the end of any existing repositories
    mavenCentral() 
}

// Project level dependencies section
dependencies {
    implementation "com.goterl:lazysodium-java:VERSION_NUMBER"
    implementation "net.java.dev.jna:jna:JNA_NUMBER"
}

Substitute VERSION_NUMBER for the version in this box:

Maven Central

Substitute JNA_NUMBER for the latest version of JNA.

Documentation

Please view our official documentation to get started.

Examples

There are some example projects available here.

Lazysodium for Android

We also have an Android implementation available at Lazysodium for Android. It has the same API as this library, so you can share code easily!


Created by Terl.

About

A Java implementation of the Libsodium crypto library. For the lazy dev.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.1%
  • Kotlin 2.9%