String 生成没有时间的随机字符串?
我知道如何使用符文在go中生成随机字符串&使用String 生成没有时间的随机字符串?,string,go,random,String,Go,Random,我知道如何使用符文在go中生成随机字符串&使用time.UnixNano()对rand.Init进行种子设定。我的问题是,是否有可能(使用stdlib)在不使用当前时间戳的情况下对rand进行种子设定(安全) 此外,我之所以这样问,是因为不只是依赖时间为敏感操作生成随机字符串不安全/漏洞吗?对于敏感操作,请使用而不是数学/rand: Package[crypto/]rand实现了一个加密安全的随机数生成器 请注意,您不需要(您不能)种子crypto/rand您可以用任何东西为其种子,它只需要一个
time.UnixNano()
对rand.Init进行种子设定。我的问题是,是否有可能(使用stdlib)在不使用当前时间戳的情况下对rand进行种子设定(安全)
此外,我之所以这样问,是因为不只是依赖时间为敏感操作生成随机字符串不安全/漏洞吗?对于敏感操作,请使用而不是
数学/rand
:
Package[crypto/]rand实现了一个加密安全的随机数生成器
请注意,您不需要(您不能)种子
crypto/rand
您可以用任何东西为其种子,它只需要一个整数。时间之所以被普遍使用,是因为它会发生变化,而且没有太多不恒定的好的随机种子源——如果使用相同的种子,你将得到相同的值序列,因此通常你想要一些变化的东西
它不安全吗?绝对地如果需要安全的随机数生成,则必须使用加密/rand
:
crypto/rand
不提供种子设定方法,因为它是使用系统的加密强随机数生成器进行种子设定的。是的,谢谢。令人惊讶的是,这个问题还没有被问到(至少是我想的术语)。secure/rand
不存在,但是你的链接正确地指向了crypto/rand
@Adrian Ops,typo,fixed。谢谢