(→소문자+숫자) |
|||
37번째 줄: | 37번째 줄: | ||
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" | const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" | ||
func | func randomString(length int) string { | ||
b := make([]byte, length) | b := make([]byte, length) | ||
if _, err := rand.Read(b); err != nil { | if _, err := rand.Read(b); err != nil { | ||
49번째 줄: | 49번째 줄: | ||
func main() { | func main() { | ||
fmt.Println( | fmt.Println(randomString(8)) // 5cKgG2TY | ||
fmt.Println( | fmt.Println(randomString(16)) // ypOmJhqbOqc4vyTt | ||
fmt.Println( | fmt.Println(randomString(32)) // LdHZOt440JQMTskDEVbv72PxhtAwbJGX | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
2025년 1월 31일 (금) 13:29 기준 최신판
1 개요[ | ]
- Go 랜덤 문자열 생성
2 소문자+숫자[ | ]
Go
Copy
package main
import (
"fmt"
"math/rand"
"time"
)
func randomString(length int) string {
var letters = []rune("abcdefghijklmnopqrstuvwxyz0123456789")
b := make([]rune, length)
for i := range b {
b[i] = letters[rand.Intn(len(letters))]
}
return string(b)
}
func main() {
fmt.Println(randomString(8)) // uqhwdb2x
}
3 대소문자+숫자[ | ]
Go
Copy
package main
import (
"crypto/rand"
"fmt"
)
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
func randomString(length int) string {
b := make([]byte, length)
if _, err := rand.Read(b); err != nil {
return ""
}
for i := range b {
b[i] = charset[b[i]%byte(len(charset))]
}
return string(b)
}
func main() {
fmt.Println(randomString(8)) // 5cKgG2TY
fmt.Println(randomString(16)) // ypOmJhqbOqc4vyTt
fmt.Println(randomString(32)) // LdHZOt440JQMTskDEVbv72PxhtAwbJGX
}
4 같이 보기[ | ]
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.