UUID Collection
URL browser ASCII code ref https://www.w3schools.com/tags/ref_urlencode.ASP
supercharge
const Str = require('@supercharge/strings')
const random = Str.random()
// 'zONHF73w_4M3cmv7GZpXG'
const random_WithFiftySymbols = Str.random(50)
// 'iO3quoYg265hlzq30E8RelQc0LOKle4R0yk6CMbgeHgGNcm_mR'
node crypto
const Crypto = require('crypto')
function randomString(size = 21) {
return Crypto
.randomBytes(size)
.toString('base64')
.slice(0, size)
}
console.log(
randomString()
)
// '/VuPgyBlk/aZjPADhMqQk'
Be careful when converting the random data to a base64 string because this string may contain characters like the forward-slash which could have side effects in your app.
Pro - native Node.js functionality - customizable the string length - generates a URL-friendly string when using .toString('hex')
Contra - no URL-friendly when using .toString('base64‘) because it may contain chars like a forward slash (/) - using .toString('hex') reduces the alphabet to numbers and the lowercase characters a-e