Pure Javascript version of sodium-native
Go to file
2020-06-24 15:01:10 +02:00
internal Move internal primitives 2020-06-24 14:02:00 +02:00
.gitignore first commit 2017-01-24 11:41:06 +01:00
.travis.yml Add travis 2020-06-24 14:49:11 +02:00
crypto_aead.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_box.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_generichash.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_hash_sha256.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_hash.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_kdf.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_kx.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_onetimeauth.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_scalarmult.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_secretbox.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_shorthash.js Split library into modules (#20) 2020-06-18 17:09:03 +02:00
crypto_sign.js Revert accidental sign API change 2020-06-24 14:49:51 +02:00
crypto_stream_chacha20.js Split library into modules (#20) 2020-06-18 17:09:03 +02:00
crypto_stream.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_verify.js Make linter happy 2020-06-24 14:08:55 +02:00
example.js Modernise example 2020-06-24 14:49:26 +02:00
index.js Move memory helpers to their own module 2020-06-24 14:01:48 +02:00
LICENSE first commit 2017-01-24 11:41:06 +01:00
memory.js Move memory helpers to their own module 2020-06-24 14:01:48 +02:00
package.json Upgrade deps 2020-06-24 14:49:38 +02:00
randombytes.js Fix offset ArrayBuffer views 2020-06-24 15:01:10 +02:00
README.md Standardize readme file 2020-06-24 14:49:05 +02:00
test.js Run tests with browser-run 2017-06-19 22:39:11 +02:00

sodium-javascript

Build Status

WIP - a pure javascript version of sodium-native. Based on tweetnacl

Usage

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. This is a work in progress so all functions are not implemented yet.

Install

npm install sodium-javascript

License

MIT