"crypto/rand.Read"生成的随机数可以编码成纯数字字符串吗?有没有现成的官方方法?
"crypto/rand.Read"生成的随机数可以编码成纯数字字符串吗?有没有现成的官方方法?
|
yang0327519Sep 18, 2023
1
package main
import ( "crypto/rand" "fmt" ) func main() { n := 10 // 生成 10 个随机字节 buf := make([]byte, n) _, err := rand.Read(buf) if err != nil { panic(err) } result := "" for _, b := range buf { result += fmt.Sprintf("%03d", b) // 将每个字节转换为三位数字的字符串 } fmt.Println(result) // 输出纯数字字符串 } |
|
body007Sep 19, 2023
2
package main
import ( "crypto/rand" "fmt" "math/big" ) func main() { err := test() if err != nil { panic(err) } } func test() error { limit := big.NewInt(10000000000) // 指定最大值,[0, max) num, err := rand.Int(rand.Reader, limit) if err != nil { return err } fmt.Println(num.String()) return nil } |
|
3
|