Pure Javascript version of sodium-native
Go to file
2020-06-17 13:13:05 +02:00
.gitignore first commit 2017-01-24 11:41:06 +01:00
crypto_aead.js add null check on ad param 2020-06-17 13:00:52 +02:00
crypto_box.js update sodium_memzero function to arr.fill(0) 2020-06-16 16:57:58 +02:00
crypto_generichash.js cleanup newlines 2017-06-12 10:31:43 +02:00
crypto_hash.js update sha512 to wasm module 2020-06-16 14:15:33 +02:00
crypto_kdf.js Change crypto_kdf_KEYBYTES to be 32 and use subarray instead of slice 2018-03-03 17:24:12 +00:00
crypto_kx.js correction: crypto_kx is not actually an alias of crypto_box 2020-06-16 15:54:44 +02:00
crypto_onetimeauth.js module: crypto_onetimeauth 2020-05-04 21:11:30 +02:00
crypto_scalarmult.js declare constants about exports 2020-06-16 16:52:57 +02:00
crypto_secretbox.js be standard 2020-06-16 14:17:31 +02:00
crypto_shorthash.js fix shorthash_ready being deprecated 2017-11-17 12:07:52 +01:00
crypto_sign.js fix bugs in crypto_sign 2020-06-16 14:16:50 +02:00
crypto_stream_chacha20.js chacha: readUint32Le generalised for uint8array; aead: standard fix 2020-06-17 12:50:27 +02:00
crypto_stream.js add chacha20; align API with PR#21 2020-06-12 17:06:31 +02:00
crypto_verify.js sodium_memcmp returns boolean 2020-06-17 13:13:05 +02:00
ed25519.js export _9 constant field element 2020-06-16 15:55:26 +02:00
example.js Add browser support (#1) 2017-06-19 21:44:32 +02:00
index.js export crypto_verify module 2020-06-17 13:10:21 +02:00
LICENSE first commit 2017-01-24 11:41:06 +01:00
package.json 0.5.6 2020-03-04 14:52:37 +01:00
poly1305.js module: poly1305 2020-05-04 20:44:56 +02:00
randombytes.js ignore crypto in the browser 2017-11-19 13:16:35 +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