关于随机数的题目,记录一下。
from Crypto.Util.number import *
from secret import flag
import random
import hashlib
import os
key=os.urandom(8)
def rand(rng):
return rng - random.randrange(rng)
m=[]
random.seed(int(hashlib.md5(key).hexdigest(), 16))
for i in range(len(flag)):
rand(

该博客探讨了一道信息安全题目,涉及Python中使用随机数生成器进行数据混淆的过程。文章详细解释了如何通过已知的输出恢复原始的flag。关键步骤包括:首先,利用md5(key)生成随机数种子,然后对flag的每个字节进行异或操作。通过反向操作,枚举key的12位未知部分,找到能够生成printable flag的key,最终还原原始flag。

4771

被折叠的 条评论
为什么被折叠?



