【发布时间】:2015-12-24 06:46:34
【问题描述】:
我试图通过将整数加密为另一个整数,使其看起来是随机的,从而向用户隐藏数据库自动递增的 ID(1 到 PHP_INT_MAX)。
我考虑过异或
$mySecretNumber = 123456789;
$idToHide = 10;
$encryptedId = ($idToHide ^ $mySecretNumber);
但是(我认为)这个密码很容易被找出来。
如何使用可以指定盐/密码的更安全的方法来执行此操作?
编辑
为了清楚起见,我需要(看似随机地)将 1 到 PHP_INT_MAX 范围内的整数映射到同一范围内的另一个整数。
【问题讨论】:
-
trying to hide them- 你能详细说明一下吗?当然,将您的自动递增 ID 更改为某个随机加密数字并不是正确的方法。 -
@Ohgodwhy 我的意思是在 url 或 REST api 响应中显示时隐藏它们。
-
为什么不用真正的加密功能?
-
为什么必须映射到整数?只需使用加密功能,然后在将其发送回服务器时对其进行解密。
-
当然,但他们并没有尝试加密它们。
标签: php encryption