如何产生一长串随机的数字? 想到了一个笨方法,利用 SecureRandom 这个类 SecureRandom.random_number.to_s.split(".").last.to_i => 5700628921896753
SecureRandom.random_number.to_s.split(".").last.to_i
SecureRandom.random_number.to_s.split(".").last.to_i => 3107219374342406
寻求更优雅更安全的写法。
你为什么会说这个不优雅,不安全呢
random_number 调用的是 random_bytes SecureRandom.random_bytes.unpack('C*').join
rand(999999999) + 999999999
SecureRandom.random_number(10**20) => 25940964009657619488
合格不?
RANGE = 2**128 rand(RANGE)
#4 楼 @ywencn 就这个了 这个方法的随机数取得的位数是一样的,比如 10000,每次的随机数就是 1000-9999 之间的。 @pongyo 的方法去取到的随机数位数不一样。