我正在寻找一种方法来加密/混淆一个整数 ID 到另一个整数。更准确地说,我需要一个函数 int F(int x)
x ^ 0x1234
这样的函数不起作用为了明确起见,我不是在寻找一个强大的加密解决方案,这只是模糊处理。想象一下,一个网页应用程序的网址,如 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)
不应该形成任何类型的进展。