【问题标题】:Is there a way to generate cryptographically strong random numbers in Go similar to Python's `secrets` module? [duplicate]有没有办法在 Go 中生成类似于 Python 的 `secrets` 模块的加密强随机数? [复制]
【发布时间】:2020-01-15 15:57:48
【问题描述】:

使用 python 你可以像这样使用secrets 模块。

    import secrets
    print(secrets.token_hex(16))

    >>> a67c39a93429f53e5c2a711b0c8455b6

有没有类似的使用 Go 的方法来做到这一点?

【问题讨论】:

    标签: go random


    【解决方案1】:

    使用crypto/rand 包,如下所示:

    b := make([]byte, length)
    _, err := rand.Read(b)
    if err != nil {
        fmt.Println("error reading random token:", err)
        return nil
    }
    

    【讨论】:

    • 问题是“有没有类似的方法可以使用 Go 做到这一点?”
    • 再次道歉 :)
    • 没问题,轻松搞定。
    猜你喜欢
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    相关资源
    最近更新 更多