gpt4 book ai didi

go - 单值上下文中的多值“crypto/rand” .Int()

转载 作者:行者123 更新时间:2023-12-01 22:44:22 25 4
gpt4 key购买 nike

我正在尝试使用库crypto / rand生成一个随机数。该函数的较早实现使用math / rand,但是我需要使用crypto / rand。这是我下面的功能

func GenerateNum() (num string) {
num = fmt.Sprintf("02:fc:%02x:%02x:%02x:%02x", rand.Int(rand.Reader, big.NewInt(256)),
rand.Int(rand.Reader, big.NewInt(256)), rand.Int(rand.Reader, big.NewInt(256)),
rand.Int(rand.Reader, big.NewInt(256))
)
return
}

我对这种语言还很陌生,因此无法弄清楚应该怎么做。

最佳答案

您可以执行类似的操作(尽管这可能不是最佳方法)

package main

import (
"crypto/rand"
"fmt"
"log"
"math/big"
)

func cryptoRandSecure() *big.Int {
nBig, err := rand.Int(rand.Reader, big.NewInt(256))
if err != nil {
log.Println(err)
}
return nBig
}

func GenerateNum() (num string) {
n1 := cryptoRandSecure()
n2 := cryptoRandSecure()
n3 := cryptoRandSecure()
n4 := cryptoRandSecure()
num = fmt.Sprintf("02:fc:%02x:%02x:%02x:%02x", n1, n2, n3, n4)
return
}

func main() {
num := GenerateNum()
fmt.Println(num)
}

关于go - 单值上下文中的多值“crypto/rand” .Int(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61625935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com