"crypto/rand.Read"生成的随机数可以编码成纯数字字符串吗?有没有现成的官方方法?
1
yang0327519 2023-09-18 20:36:52 +08:00
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) // 输出纯数字字符串 } |
2
body007 2023-09-19 09:12:27 +08:00
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
dyllen OP |