Pure Javascript version of sodium-native
Go to file
Emil Bay 002969f78d
Preliminary kx api
Missing dependent apis and tests
2018-02-15 22:31:13 +01:00
.gitignore first commit 2017-01-24 11:41:06 +01:00
crypto_generichash.js cleanup newlines 2017-06-12 10:31:43 +02:00
crypto_kdf.js Use independent randombytes_buf 2017-06-19 22:34:38 +02:00
crypto_kx.js Preliminary kx api 2018-02-15 22:31:13 +01:00
crypto_shorthash.js use siphash24 2017-06-12 11:01:21 +02:00
crypto_stream.js use xsalsa20 and support crypto_stream_instance 2017-06-28 11:14:00 +02:00
example.js Add browser support (#1) 2017-06-19 21:44:32 +02:00
index.js bump sodium-test and minor tweak 2017-07-13 16:52:30 +02:00
LICENSE first commit 2017-01-24 11:41:06 +01:00
package.json 0.5.2 2017-11-03 08:19:11 +01:00
randombytes.js Fix bug with undefined window in web workers 2017-11-03 08:19:06 +01:00
README.md first commit 2017-01-24 11:41:06 +01:00
test.js Run tests with browser-run 2017-06-19 22:39:11 +02:00

sodium-javascript

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

npm install sodium-javascript

Usage

var sodium = require('sodium-javascript')

var key = new Buffer(sodium.crypto_secretbox_KEYBYTES)
var nonce = new Buffer(sodium.crypto_secretbox_NONCEBYTES)

sodium.randombytes_buf(key)
sodium.randombytes_buf(nonce)

var message = new Buffer('Hello, World!')
var cipher = new Buffer(message.length + sodium.crypto_secretbox_MACBYTES)

sodium.crypto_secretbox_easy(cipher, message, nonce, key)

console.log('Encrypted:', cipher)

var plainText = new Buffer(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.

License

MIT