"Go 랜덤 16진수 문자열 생성"의 두 판 사이의 차이

태그: 되돌려진 기여
태그: 수동 되돌리기
 
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"
)
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
func randString(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(randString(8))  // 5cKgG2TY
fmt.Println(randString(16)) // ypOmJhqbOqc4vyTt
fmt.Println(randString(32)) // LdHZOt440JQMTskDEVbv72PxhtAwbJGX
}
}
</syntaxhighlight>
</syntaxhighlight>

2025년 1월 31일 (금) 13:28 기준 최신판

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 같이 보기[ | ]