No description
Find a file
Philipp Doerner 144d6d8d8d #32 adds libsodium 26 to supported versions
Arch already has said version and it runs the test-suite just fine.
So no major breaking changes.
2023-11-21 18:45:42 +01:00
.github/workflows Enable CI on PR 2022-01-03 18:24:31 +00:00
libsodium #32 adds libsodium 26 to supported versions 2023-11-21 18:45:42 +01:00
.gitignore Initial commit 2016-05-11 00:43:20 +01:00
libsodium.nimble Version 0.7.1 2022-01-04 20:53:35 +00:00
LICENSE Switch license to MPL-2.0 (close #22) 2020-03-06 18:53:11 +00:00
README.adoc Follow https://doc.libsodium.org/ 2022-01-04 20:41:51 +00:00
test_sodium.nim Added HMAC-SHA512 and its test functions in the suite 2022-04-07 22:39:52 +01:00

## nim-libsodium

Nim wrapper for the libsodium library

image:https://github.com/FedericoCeratto/nim-libsodium/workflows/build/badge.svg?branch=master["Build Status", link="https://github.com/FedericoCeratto/nim-libsodium/actions"]
image:https://img.shields.io/badge/status-beta-orange.svg[badge]
image:https://img.shields.io/github/tag/FedericoCeratto/nim-libsodium.svg[tags]
image:https://img.shields.io/badge/License-MPL%20v2.0-blue.svg[License]

### Features

* Wrap libsodium and expose only memory-safe entities
* Follow libsodium naming convention for most functions
* Tested on Linux, MacOS and windows
* Basic unit tests
* No homemade crypto

### Usage

Refer to the link:https://download.libsodium.org/doc/index.html[official libsodium documentation]

and the generated documentation using `nim doc`.

Also, the structure of libsodium/sodium.nim follows the order of https://doc.libsodium.org/

[source,bash]
----
sudo apt-get install libsodium18
nimble install libsodium
----

[source,nim]
----
import libsodium.sodium
import libsodium.sodium_sizes

let
  msg = "hello and goodbye"
  (pk, sk) = crypto_box_keypair()
  nonce = randombytes(crypto_box_NONCEBYTES())
  ciphertext = crypto_box_easy(msg, nonce, pk, sk)

----

### Contributing

Testing and PRs are welcome.