| 偶来陪Hot大叔玩69。 
 各位!不要误会!我说的确是数字69 (六十九, 陆拾玖!)。
 
 把2个69中间加个0,就变成69069。(不要砸我)
 找一个整数,8位的不要,32位的也不要,只要16位的
 把这个数乘以69069,取16位余数,再加1,看看得到什么?
 没看出来?  把结果再乘以69069,取16位余数,再加1,看看?
 还没看出来?把结果再乘以69069,取16位余数,再加1,看看?
 真没看出来?上一步for()一个10000遍,printf看看...
 
 ....
 
 没看出来我就放心了。这是一个高性能的伪随机数序列。(Quake3源代码里找来的算法)
 
 知道我要干啥了吧?
 
 这个序列既然是随机数,说明序列前后任意N个数无关联。从后面的数无法预测前面的数。依次类推,第一个数无法推知。
 第一个数有自己定,记好了当密码,产生一串串随机数。把信息安字节和随机数序列异或。出来还是一个随机数串,原始信息被淹没了。必须按照原始的序列顺序重新产生随机数,再把随机字串异或回去,才能得到原始信息
 
 和本贴无太大联系,看看有什么其他启发而已。
 
 |