random随机数的重现
因为“随机数”的产生式需要量子计算机(量子就纠缠),所以在python中会使用random来产生伪随机数。
使用random模块生成的随机数是可以被重现的,要实现对伪随机数的攻击,那么就要拿到它的种子。
原理
1.在默认情况下是使用当前操作系统的时间来作为随机数的“种子”
2.可以使用getstate这个函数来获取随机数的种子加工之后,随机数生成器的内部状态
random.getstate()
3.使用变量将随机数的种子进行打印
x = random.getstate
print(x)
4.使用random.randint来生成随机数
random.randint(1,10)
怎末对他进行攻击?
1.现在调用setstate函数重新设置随机数生成器的内部状态
random.setstate(x)
random.randint(1,10)
之后就完成了随机数的重现