25 lines
510 B
Go
25 lines
510 B
Go
package src
|
|
|
|
import "crypto/rand"
|
|
|
|
func RandStr(strSize int, randType string) string {
|
|
|
|
var dictionary string
|
|
|
|
switch randType {
|
|
case "number":
|
|
dictionary = "0123456789"
|
|
case "alpha":
|
|
dictionary = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
|
|
default:
|
|
dictionary = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
|
|
}
|
|
|
|
var bytes = make([]byte, strSize)
|
|
rand.Read(bytes)
|
|
for k, v := range bytes {
|
|
bytes[k] = dictionary[v%byte(len(dictionary))]
|
|
}
|
|
return string(bytes)
|
|
}
|