我有自动增加ID,因为主要是我的所有数据库表,如用户,订单等。我不想将这些ID暴露给最终用户,因为他们可以迭代ID可以访问用户详细信息。相反,我想使用双向数学函数,这样我就可以在不存储数据库映射的情况下对id进行模糊处理和去混淆。
function obfuscate(id)
{
constSeed = 1203793
return (id*constSeed)
}
function deobfuscate(bigid)
{
constSeed = 1203793
return (bigid/constSeed)
}
我甚至可以通过base36转换器运行bigid,以获得更小的字母数字ID,可公开曝光。
这种方法有问题吗?还有其他建议吗?
答案 0 :(得分:0)
如果您不希望他们访问ID,可能只在$ _SESSION变量中使用它们或者沿着那些行使用它们。
如果最终用户可以看到数据,即使您对数据进行哈希或加密, 它不安全。