browser-crypto.js 438 B

1234567891011121314151617
  1. 'use strict';
  2. if (global.crypto && global.crypto.getRandomValues) {
  3. module.exports.randomBytes = function(length) {
  4. var bytes = new Uint8Array(length);
  5. global.crypto.getRandomValues(bytes);
  6. return bytes;
  7. };
  8. } else {
  9. module.exports.randomBytes = function(length) {
  10. var bytes = new Array(length);
  11. for (var i = 0; i < length; i++) {
  12. bytes[i] = Math.floor(Math.random() * 256);
  13. }
  14. return bytes;
  15. };
  16. }