Pure Javascript version of sodium-native
.gitignore | ||
crypto_aead.js | ||
crypto_box.js | ||
crypto_generichash.js | ||
crypto_hash_sha256.js | ||
crypto_hash.js | ||
crypto_kdf.js | ||
crypto_kx.js | ||
crypto_onetimeauth.js | ||
crypto_scalarmult.js | ||
crypto_secretbox.js | ||
crypto_shorthash.js | ||
crypto_sign.js | ||
crypto_stream_chacha20.js | ||
crypto_stream.js | ||
crypto_verify.js | ||
ed25519.js | ||
example.js | ||
index.js | ||
LICENSE | ||
memory.js | ||
package.json | ||
poly1305.js | ||
randombytes.js | ||
README.md | ||
test.js |
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