Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Python

Idiom #317 Random string

Create a string s of n characters having uniform random values out of the 62 alphanumeric values A-Z, a-z, 0-9

import random
import string
alphanum = string.ascii_letters + string.digits
s = ''.join(random.choices(alphanum, k=n))
from random import shuffle
from string import ascii_letters, digits
a = list(ascii_letters + digits)
shuffle(a)
s = ''.join(a[:n])
import "math/rand"
const alphanum = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"

func randomString(n int) string {
	a := make([]byte, n)
	for i := range a {
		a[i] = alphanum[rand.Intn(len(alphanum))]
	}
	return string(a)
}

Each of these runes fits in a single byte.
The default RNG can be run concurrently, as it incurs the cost of a Mutex.
Note that the package math/rand is not crypto-secure

New implementation...