mt19937
- 求后随机数
- import random from mt19937predictor import MT19937Predictor predictor = MT19937Predictor() for _ in range(624): x = random.getrandbits(32) predictor.setrandbits(x, 32) assert random.getrandbits(32) == predictor.getrandbits(32)
-
import random, time
from randcrack import RandCrack
random.seed(time.time())#random.seed()是随机数种子,也就是为随机数提供算法,完全相同的种子产生的随机数列是相同的,所以如果想产生不同的随机数就需要用当前时间作为种子。
rc = RandCrack()
for i in range(624):
rc.submit(random.getrandbits(32))#rand.getrandbits(bits)返回具有指定位数(二进制位数)的整数(十进制);
# Could be filled with random.randint(0,4294967294) or random.randrange(0,4294967294)
print("Random result: {}\nCracker result: {}"
.format(random.randrange(0, 4294967295), rc.predict_randrange(0, 4294967295)))
RSA脚本大多引用自https://lazzzaro.github.io/2020/05/06/crypto-RSA/