In this question Erik needs to generate a secure random token in Node.js. There’s the method crypto.randomBytes that generates a random Buffer. However, the base64 encoding in node is not url-safe, it includes / and + instead of - and _. Therefore, the easiest way to generate such token I’ve found is

require('crypto').randomBytes(48, function(ex, buf) {
    token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-');
});

Is there a more elegant way?

14 Answers
14

Leave a Reply

Your email address will not be published. Required fields are marked *