我正在寻找一种方法来将整数ID加密/混淆为另一个整数.更准确地说,我需要一个功能int F(int x),所以
x ^ 0x1234不起作用为清楚起见,我不是在寻找强大的加密解决方案,它只是混淆.想象一下,像URL的Web应用程序example.com/profile/1,example.com/profile/2等型材本身并不是秘密,但我想,以防止随意偷窥查看/读取所有配置了一个又一个,所以我宁愿躲在他们身后像example.com/profile/23423,example.com/profile/80980234等等.虽然数据库存储的令牌可以很容易地完成工作,我很好奇是否有一些简单的数学可用于此.
我不清楚的一个重要要求是结果看起来应该是"随机的",也就是说,给定一个序列x,x+1,...,x+n,F(x),F(x+1)...F(x+n)不应该形成任何类型的进展.