Pure Javascript version of sodium-native
Go to file
RangerMauve 7ef6e52870 Remove "react-native" field
This field isn't adding anything at the moment, and it actually breaks things by pointing at an unresolvable module.
2020-12-01 11:29:33 +01: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 Missing helpers (#24) 2020-08-12 15:39:14 +02:00
crypto_aead.js crypto_aead: correctly hadle ad passed as null 2020-09-22 15:30:31 +02:00
crypto_auth.js Add crypto_auth (#32) 2020-09-22 14:49:40 +02:00
crypto_box.js Add crypto_box_easy (#29) 2020-09-22 14:47:36 +02:00
crypto_generichash.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_hash_sha256.js change to universal hashes 2020-07-13 14:53:38 +02:00
crypto_hash.js change to universal hashes 2020-07-13 14:53:38 +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 crypto_verify return booleans & add crypto_verify_64 (#33) 2020-09-15 17:27:39 +02:00
crypto_scalarmult.js Make linter happy 2020-06-24 14:08:55 +02:00
crypto_secretbox.js Add crypto_box_easy (#29) 2020-09-22 14:47:36 +02:00
crypto_shorthash.js Split library into modules (#20) 2020-06-18 17:09:03 +02:00
crypto_sign.js missing export: crypto_sign_ed25519_sk_to_pk 2020-09-22 15:50:00 +02:00
crypto_stream_chacha20.js Split library into modules (#20) 2020-06-18 17:09:03 +02:00
crypto_stream.js Add crypto_box_easy (#29) 2020-09-22 14:47:36 +02:00
crypto_verify.js crypto_verify return booleans & add crypto_verify_64 (#33) 2020-09-15 17:27:39 +02:00
example.js Modernise example 2020-06-24 14:49:26 +02:00
helpers.js Missing helpers (#24) 2020-08-12 15:39:14 +02:00
index.js Add crypto_auth (#32) 2020-09-22 14:49:40 +02:00
LICENSE first commit 2017-01-24 11:41:06 +01:00
memory.js load the sink just in time 2020-11-13 16:46:06 +01:00
package.json Remove "react-native" field 2020-12-01 11:29:33 +01:00
randombytes.js Fix offset ArrayBuffer views 2020-06-24 15:01:10 +02:00
README.md Small copy change to README (#54) 2020-11-12 08:39:33 +01:00
test.js Detect window.close is defined (#49) 2020-10-09 13:35: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 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.

Install

npm install sodium-javascript

License

MIT