为了账号安全,请及时绑定邮箱和手机立即绑定

没有时间生成随机字符串?

没有时间生成随机字符串?

Go
汪汪一只猫 2023-05-22 15:40:00
我知道如何使用 Runes & seeding rand.Init 在 go 中生成一个随机字符串time.UnixNano()。我的问题是,是否可以(使用 stdlib)在不使用当前时间戳(安全)的情况下播种 rand?此外,我问因为不只是依靠时间为敏感操作生成随机字符串不安全/漏洞吗?
查看完整描述

2 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

对于敏感操作,请使用crypto/rand而不是math/rand

包 [crypto/] rand 实现了一个加密安全的随机数生成器。

请注意,您不需要(不能) seed crypto/rand


查看完整回答
反对 回复 2023-05-22
?
精慕HU

TA贡献1845条经验 获得超8个赞

你可以用任何东西作为种子,它只需要一个整数。时间是常用的,因为它会改变,而且没有很多好的随机种子来源不是恒定的——如果你使用相同的种子,你会得到相同的值序列,所以通常你想要一些改变的东西.

不安全吗?绝对地!如果您需要安全的随机数生成,则必须改用crypto/rand

crypto/rand不提供播种方法,因为它是使用系统的加密强随机数生成器播种的。


查看完整回答
反对 回复 2023-05-22
  • 2 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信