pau*_*aul 3 php mysql obfuscation
我正在使用mysql数据库自动增量作为订单ID.当我向用户显示订单ID时,我想以某种方式掩盖/混淆它.
为什么?
基于这个答案,我希望屏蔽/混淆的订单ID为:
我将如何在PHP中实现这一目标?它不一定非常复杂,乍一看它并不明显.
我认为你可以使用XOR运算符隐藏"乍一看"(MySQL示例):
(id*121) ^ 2342323
Run Code Online (Sandbox Code Playgroud)
哪里2342323和121是"魔术"数字 - 订单号的模板.扭转:
(OrderNum ^ 2342323)/121
Run Code Online (Sandbox Code Playgroud)
在这种情况下的另一个好处 - 如果(OrderNum ^ 2342323)除以121而没有余数,您可以验证OrderNumber(以避免垃圾邮件或在线表格中的类似内容).
也许最简单的方法是生成一个长随机字符串并使用它而不是自动递增 ID。或者可以将其与自动增量 ID 一起使用。如果字符串足够长且足够随机,则对于每个记录来说它都是唯一的(想想 GUID)。然后你就可以将这些显示给用户而不用担心任何事情。
| 归档时间: |
|
| 查看次数: |
3280 次 |
| 最近记录: |