18/03/2020 - GO
Değişik uzunluklarda güvenli veya güvenli olmayan rastgele dize oluşturmak istiyorsanız, aşağıdaki örnekleri kullanabilirsiniz.
package main
import (
"crypto/rand"
"log"
)
const chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
func main() {
ran, err := random(10)
if err != nil {
log.Fatalln(err)
}
log.Println(ran)
}
func random(length int) (string, error) {
bytes := make([]byte, length)
if _, err := rand.Read(bytes); err != nil {
return "", err
}
for i, b := range bytes {
bytes[i] = chars[b%byte(len(chars))]
}
return string(bytes), nil
}
# 10
r8khqsyt7E
# 100
WwB3qqFWbRol9tzBs1859jiqqtC8HZgayOw20PxOQLltlQ4CGkkqnt6Un5Ej5Sk5MIBnrH619rtCvU7i7xqz2523M1qvJ1I11skg
package random
import (
"math/rand"
"time"
)
const chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
func String(length int) (string, error) {
rand.Seed(time.Now().UnixNano())
bytes := make([]byte, length)
_, err := rand.Read(bytes)
if err != nil {
return "", err
}
for k, v := range bytes {
bytes[k] = chars[v%byte(len(chars))]
}
return string(bytes), nil
}
# 10
uhPv8zBz1K
# 100
k547x6Dhm1xfuAtQpEdfg30fZ147nEcb59suGtdanLu0mXVhEooayMo8A7FVa3HtNxoE984vbVc0UD8LpPsBSXj0C7KqPa7TxZbN
package random
import (
"math/rand"
"time"
)
var chars = []rune("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
func String(length int) string {
rand.Seed(time.Now().UnixNano())
pick := make([]rune, length)
for i := range pick {
pick[i] = chars[rand.Intn(len(chars))]
}
return string(pick)
}
# 10
57fCgGTwQf
# 100
Mu1gbzW3N5kQNHDL5yZN4WJNH0zyWUWw8UYiVGgAaNjSGyyRyG1cTz1MISIMT31IyG0tn5ADIpOucko5BfjkdUdvqgKDmDKT7Xsg