Skip to content

dominictarr/sodium-browserify

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

sodium-browserify

A polyfil between the apis of node-sodium and libsodium-wrappers, heir to crypto-browserify

Mainly, this wraps libsodium-wrappers to make it work with buffers, and pass the same tests as it does in node, and in the browser.

UPDATE: WebAssembly!

This now uses webassembly, for a massive speed improvement. one of the weird quirks of webassembly is that it gets loaded async, which means you'll only get this speed improvement after waiting a little while, say 50ms, but in most applications something else will need to load, such as reading database state or waiting for connections, so this will happen on it's own.

If you try to use this before the wasm has loaded, it will fallback to tweetnacl.

An event is available to ensure wasm is loaded before proceeding:

var s = require('sodium-browserify')

s.events.on('sodium-browserify:wasm loaded', function() {
  console.log("wasm was loaded!")
})

Tests are generated from sodium, with values stored in JSON so that they can be run in the browser.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published