kalium

Java binding to the Networking and Cryptography (NaCl) library with the awesomeness of libsodium

Github stars Tracking Chart

License
Maven Central
Build Status
Build status
Say Thanks

kalium - Java binding to the Networking and Cryptography (NaCl) library

A Java binding to Networking and Cryptography library by Daniel J. Bernstein. All the hard work of making a portable NaCl API version was done by Frank Denis on libsodium and kalium was totally inspired by Tony Arcieri's work with RbNaCl.

Requirements

Installation

libsodium

kalium is implemented using jnr-ffi to bind the shared libraries from libsodium. For a more detailed explanation, please refer to RbNaCl's documentation.

OSX

OS X users can get libsodium via homebrew with:

brew install libsodium

Windows

Windows users will need to provide the pre-build binaries from libsodium.

  • Download libsodium from https://download.libsodium.org/libsodium/releases/
  • Choose the version of libsodium you wish to use
    • The archives follow the following pattern: libsodium-{version}-msvc.zip
  • From the archive find the artifacts compiled for your architecture and then the MSVC tool set of your choice
    • For example: v141 // these were compiled against the MSVC v141 (i.e. Visual Studio 2017)
  • Extract from the archive the dll library files into one of the following locations:
    • into the lib at the root of the working directory directory of your project.
    • into a location that is included in your PATH environment variable.

For example, on Windows 10 machine with a x64 architecture:

{archive root}
└───x64
    ...
    └───Release
        ...
        └───v141
            ...
            └───dynamic <- copy the library files from this locaiton.

kalium installation

Add as a Maven dependency to your project.

FAQ

Is Android supported?

No.

Would be nice to have some documentation. Do you have some?

Look at the libsodium docs, they are self explanatory. Or, contribute with docs.

I'm experiencing some issues on Windows. Do you have any idea?

I'm sorry but I'm completely clueless about Windows environment, but if you have any suggestions or PR changes. They will be more than welcome.

Notes

Kalium is the effort of a really small group of people, feedback, bug reports and patches are always welcome.

Main metrics

Overview
Name With Ownerabstractj/kalium
Primary LanguageJava
Program languageJava (Language Count: 2)
Platform
License:Apache License 2.0
所有者活动
Created At2013-03-31 01:37:19
Pushed At2023-09-12 12:04:28
Last Commit At2018-05-24 23:37:38
Release Count9
Last Release Name0.8.0 (Posted on 2018-05-24 23:38:51)
First Release Name0.2.0 (Posted on 2013-08-07 17:01:12)
用户参与
Stargazers Count212
Watchers Count18
Fork Count73
Commits Count179
Has Issues Enabled
Issues Count40
Issue Open Count5
Pull Requests Count14
Pull Requests Open Count5
Pull Requests Close Count35
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private