xsalsa20
v1.2.0
Published
XSalsa20 implemented in Javascript and WebAssembly
Downloads
54,890
Readme
xsalsa20
XSalsa20 implemented in Javascript and WebAssembly.
npm install xsalsa20
Usage
var crypto = require('crypto')
var xsalsa20 = require('xsalsa20')
var key = crypto.randomBytes(32)
var nonce = crypto.randomBytes(24)
var xor = xsalsa20(nonce, key)
console.log(xor.update(Buffer.from('hello')))
console.log(xor.update(Buffer.from('world')))
xor.finalize()
API
var xor = xsalsa20(nonce, key)
Create a new xor instance.
Nonce should be a 24 byte buffer/uint8array and key should be 32 bytes.
var output = xor.update(input, [output])
Update the xor instance with a new input buffer. Optionally you can pass in an output buffer.
xor.finalize()
Call this method last. Clears internal state.
Contributing
The bulk of this module is implemented in WebAssembly in the xsalsa20.wat file. To build the thin Javascript wrapper do:
npm run compile
License
MIT