(→개요) 태그: 되돌려진 기여 |
|||
20번째 줄: | 20번째 줄: | ||
fmt.Println(randToken(16)) // 4981255c411f90cd6fbbc06eed49eb18 | fmt.Println(randToken(16)) // 4981255c411f90cd6fbbc06eed49eb18 | ||
fmt.Println(randToken(32)) // 2381c3b9b74a805ec2489403702002ddf55e5b7f91b11431d58bff07b8c6eadb | fmt.Println(randToken(32)) // 2381c3b9b74a805ec2489403702002ddf55e5b7f91b11431d58bff07b8c6eadb | ||
} | |||
</syntaxhighlight> | |||
==영문자== | |||
<syntaxhighlight lang='go'> | |||
package main | |||
import ( | |||
"crypto/rand" | |||
"fmt" | |||
"log" | |||
) | |||
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" | |||
func randString(length int) (string, error) { | |||
b := make([]byte, length) | |||
if _, err := rand.Read(b); err != nil { | |||
return "", err | |||
} | |||
for i := range b { | |||
b[i] = charset[b[i]%byte(len(charset))] | |||
} | |||
return string(b), nil | |||
} | |||
func main() { | |||
str, err := randString(16) | |||
if err != nil { | |||
log.Fatal(err) | |||
} | |||
fmt.Println(str) // geLi4Hgk3nOvofLJ | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
2025년 1월 31일 (금) 13:26 판
1 개요
- Go 랜덤 16진수 문자열 생성
Go
CPU
-1.0s
MEM
-0M
-1.0s
Copy
package main
import (
"crypto/rand"
"fmt"
)
func randToken(length int) string {
b := make([]byte, length)
rand.Read(b)
return fmt.Sprintf("%x", b)
}
func main() {
fmt.Println(randToken(8)) // 874765a815352ad3
fmt.Println(randToken(16)) // 4981255c411f90cd6fbbc06eed49eb18
fmt.Println(randToken(32)) // 2381c3b9b74a805ec2489403702002ddf55e5b7f91b11431d58bff07b8c6eadb
}
44e35fc2d5c6e874 a52de33ffbbccbecf2d355920fb1f679 d7154344f3400220ea6ddfd4f8dabe1664967f39a85f1620b087d50e8a0690d0
2 영문자
Go
Copy
package main
import (
"crypto/rand"
"fmt"
"log"
)
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
func randString(length int) (string, error) {
b := make([]byte, length)
if _, err := rand.Read(b); err != nil {
return "", err
}
for i := range b {
b[i] = charset[b[i]%byte(len(charset))]
}
return string(b), nil
}
func main() {
str, err := randString(16)
if err != nil {
log.Fatal(err)
}
fmt.Println(str) // geLi4Hgk3nOvofLJ
}
3 같이 보기
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.