From 9ef709e7f7145ca4eece6b08f7d5f6fc937acd07 Mon Sep 17 00:00:00 2001 From: Robert Helmer Date: Wed, 15 Jan 2014 10:58:50 -0800 Subject: [PATCH] mozilla bug 844796 - use node crypto module for randomString --- src/node/utils/randomstring.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/node/utils/randomstring.js b/src/node/utils/randomstring.js index 4c1bba244..4791f2745 100644 --- a/src/node/utils/randomstring.js +++ b/src/node/utils/randomstring.js @@ -1,16 +1,13 @@ /** * Generates a random String with the given length. Is needed to generate the Author, Group, readonly, session Ids */ +var crypto = require('crypto'); + var randomString = function randomString(len) { - var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - var randomstring = ''; - for (var i = 0; i < len; i++) - { - var rnum = Math.floor(Math.random() * chars.length); - randomstring += chars.substring(rnum, rnum + 1); - } - return randomstring; + crypto.randomBytes(48, function(ex, buf) { + return buf.toString('hex'); + }); }; module.exports = randomString;