randombytes from node that works in the browser. In node you just get crypto.randomBytes, but in the browser it uses .crypto/msCrypto.getRandomValues
var randomBytes = require('randombytes');
randomBytes(16);
randomBytes(16, function (err, resp) {
});