Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/jzeuzs/sodium

Libsodium for Node.js
https://github.com/jzeuzs/sodium

dryoc libsodium napi napi-rs nodejs rust sodium

Last synced: 5 days ago
JSON representation

Libsodium for Node.js

Lists

README

        

# @devtomio/sodium

**Libsodium for Node.js**

[![GitHub](https://img.shields.io/github/license/devtomio/sodium)](https://github.com/devtomio/sodium/blob/main/LICENSE)
[![Continuous Delivery](https://github.com/devtomio/sodium/actions/workflows/continuous-delivery.yml/badge.svg)](https://github.com/devtomio/sodium/actions/workflows/continuous-delivery.yml)
[![Continuous Integration](https://github.com/devtomio/sodium/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/devtomio/sodium/actions/workflows/continuous-integration.yml)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium?color=crimson&logo=npm&style=flat-square)](https://www.npmjs.com/package/@devtomio/sodium)

**Packages**

[![npm](https://img.shields.io/npm/v/@devtomio/sodium-android-arm64?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-android-arm64)](https://www.npmjs.com/package/@devtomio/sodium-android-arm64)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium-darwin-arm64?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-darwin-arm64)](https://www.npmjs.com/package/@devtomio/sodium-darwin-arm64)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium-darwin-x64?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-darwin-x64)](https://www.npmjs.com/package/@devtomio/sodium-darwin-x64)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium-freebsd-x64?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-freebsd-x64)](https://www.npmjs.com/package/@devtomio/sodium-freebsd-x64)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium-linux-arm64-gnu?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-linux-arm64-gnu)](https://www.npmjs.com/package/@devtomio/sodium-linux-arm64-gnu)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium-linux-arm64-musl?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-linux-arm64-musl)](https://www.npmjs.com/package/@devtomio/sodium-linux-arm64-musl)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium-linux-x64-gnu?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-linux-x64-gnu)](https://www.npmjs.com/package/@devtomio/sodium-linux-x64-gnu)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium-linux-x64-musl?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-linux-x64-musl)](https://www.npmjs.com/package/@devtomio/sodium-linux-x64-musl)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium-win32-x64-msvc?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-win32-x64-msvc)](https://www.npmjs.com/package/@devtomio/sodium-win32-x64-msvc)
[![npm](https://img.shields.io/npm/v/@devtomio/sodium-linux-arm-gnueabihf?color=crimson&logo=npm&style=flat-square&label=@devtomio/sodium-linux-arm-gnueabihf)](https://www.npmjs.com/package/@devtomio/sodium-linux-arm-gnueabihf)

## Features

- Fully ready for TypeScript!
- Includes ESM ready entrypoint
- Easy to use
- Has the same API as libsodium
- Faster than similar libraries (see [benchmarks](#benchmarks))
- Powered by [Rust](https://github.com/brndnmtthws/dryoc)

---

## Usage

**_For complete usages, please dive into our [documentation]_**

### Basic usage

Generating a keypair

```typescript
import * as sodium from '@devtomio/sodium';

const { public_key, secret_key } = sodium.crypto_box_keypair();
```

## Benchmarks

```sh
$ yarn bench

Running "keypair generation" suite...
Progress: 100%

libsodium-wrappers:
5 109 ops/s, ±3.12% | 85.44% slower

tweetnacl:
1 108 ops/s, ±1.11% | slowest, 96.84% slower

chloride:
21 946 ops/s, ±7.45% | 37.46% slower

sodium:
23 691 ops/s, ±1.00% | 32.49% slower

@devtomio/sodium:
35 092 ops/s, ±2.84% | fastest

Finished 5 cases!
Fastest: @devtomio/sodium
Slowest: tweetnacl
```

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Tomio

💻 📖 💡 🤔 🚇 🚧 📦

WhiteSource Renovate

🚧

renovate[bot]

🚧

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

## License

This software is released under the MIT License, see [LICENSE](https://github.com/devtomio/sodium/blob/main/LICENSE).

[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdevtomio%2Fsodium.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdevtomio%2Fsodium?ref=badge_large)

[documentation]: https://devtomio.github.io/sodium