19 lines
308 B
Go
19 lines
308 B
Go
package randomstring
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"math/big"
|
|
"strconv"
|
|
)
|
|
|
|
func Generate(length int) string {
|
|
const base = 36
|
|
size := big.NewInt(base)
|
|
n := make([]byte, length)
|
|
for i, _ := range n {
|
|
c, _ := rand.Int(rand.Reader, size)
|
|
n[i] = strconv.FormatInt(c.Int64(), base)[0]
|
|
}
|
|
return string(n)
|
|
}
|