我正在寻找
的int32-> int32函数答案 0 :(得分:10)
乘以一个大的奇数和xor乘以不同的数。
双射:奇数具有2的乘法逆模幂,因此通过乘以逆来解除乘法。当然,xor是另一个xor。
这基本上是线性同余伪随机数发生器的工作原理。
答案 1 :(得分:3)
对于此任务可能有些过分,但您是否考虑过应用任何加密pseudo random permutation或来自block ciphers的其他原语。例如,可以使用des在计数器模式下使用已知密钥来完成:
younumber xor (des (key, number counter))