哈喽!今天心血来潮给大家带来了《单值上下文中的多值“crypto/rand”.Int()》,想必大家应该对golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Gol
哈喽!今天心血来潮给大家带来了《单值上下文中的多值“crypto/rand”.Int()》,想必大家应该对golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!
问题内容我正在尝试使用库 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)
}
今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~
--结束END--
本文标题: 单值上下文中的多值“crypto/rand”.Int()
本文链接: https://www.lsjlt.com/news/596806.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0