Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sodium-friends/sodium-javascript
Pure Javascript version of sodium-native
https://github.com/sodium-friends/sodium-javascript
Last synced: 5 days ago
JSON representation
Pure Javascript version of sodium-native
- Host: GitHub
- URL: https://github.com/sodium-friends/sodium-javascript
- Owner: sodium-friends
- License: mit
- Created: 2017-01-24T10:41:09.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-06-02T14:58:44.000Z (over 1 year ago)
- Last Synced: 2025-01-21T16:08:52.534Z (13 days ago)
- Language: JavaScript
- Homepage:
- Size: 2.43 MB
- Stars: 92
- Watchers: 7
- Forks: 24
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `sodium-javascript`
[![Build Status](https://travis-ci.org/sodium-friends/sodium-javascript.svg?branch=master)](https://travis-ci.org/sodium-friends/sodium-javascript)
> WIP - a pure javascript version of [sodium-native](https://github.com/sodium-friends/sodium-native).
Based on tweetnacl## Usage
``` js
const sodium = require('sodium-javascript')const key = Buffer.alloc(sodium.crypto_secretbox_KEYBYTES)
const nonce = Buffer.alloc(sodium.crypto_secretbox_NONCEBYTES)sodium.randombytes_buf(key)
sodium.randombytes_buf(nonce)const message = Buffer.from('Hello, World!')
const cipher = Buffer.alloc(message.length + sodium.crypto_secretbox_MACBYTES)sodium.crypto_secretbox_easy(cipher, message, nonce, key)
console.log('Encrypted:', cipher)
const plainText = Buffer.alloc(cipher.length - sodium.crypto_secretbox_MACBYTES)
sodium.crypto_secretbox_open_easy(plainText, cipher, nonce, key)
console.log('Plaintext:', plainText.toString())
```## API
See [sodium-native](https://github.com/sodium-friends/sodium-native).
This is a work in progress so not all functions are implemented yet.This module is organised into individual submodules which can be required
independently for smaller bundles in the browser. To leverage automatic
switching between `sodium-javascript` and `sodium-native`, see
[`sodium-universal`](https://github.com/sodium-friends/sodium-universal).## Install
```
npm install sodium-javascript
```## License
[MIT](LICENSE)