将数据库ID混淆为面向客户的号码

保罗

我正在使用mysql数据库自动递增作为订单ID。当我向用户显示订单ID时,我想以某种方式对其进行遮罩/模糊处理。

为什么?

  • 因此,乍一看,对于管理员用户而言,数字所指是显而易见的(订单以10开头,客户以20开头,依此类推)
  • 乍一看,这只是我的第四阶。

基于此答案,我希望屏蔽/混淆的订单ID为:

  • 只是数字
  • 长度一致(如果可能)
  • 不引起碰撞
  • 具有可逆性,因此我可以对其进行解码并获取原始ID

我将如何在PHP中做到这一点?它不必很复杂,只是乍一看并不明显。

维尔克斯

可能最简单的方法是只生成一个长随机字符串,然后使用它代替自动递增ID。或者,可以将其与自动递增ID一起使用。如果字符串足够长且足够随机,则对于每个记录它都是唯一的(请考虑使用GUID)。然后,您可以将这些显示给用户,而不用担心。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将Spring Security OAuth 2.0客户端存储配置为数据库

来自分类Dev

为数据库生成随机 ID

来自分类Dev

将数据库打印为文本

来自分类Dev

如何在数据库中为面向对象的设计建模?

来自分类Dev

混淆选择大数据库

来自分类Dev

面向列的数据库vs面向行的数据库

来自分类Dev

面向列的数据库vs面向行的数据库

来自分类Dev

Firebase数据库,将auth uid设置为文档的默认ID

来自分类Dev

通过获取其数据库ID将行设置为非活动状态

来自分类Dev

在数据库中查找号码

来自分类Dev

更新数据库电话号码

来自分类Dev

将规则从UML映射到面向列的NoSQL数据库

来自分类Dev

将规则从UML映射到面向列的NoSQL数据库

来自分类Dev

在视图中列出ID为ID的数据库条目

来自分类Dev

将SQL数据库中的数据显示为拓扑

来自分类Dev

将数据库数据加载为动态页面

来自分类Dev

混淆将CSV文件插入SQLite数据库Android Studio

来自分类Dev

将数据库转换为第三范式时与城市/国家混淆

来自分类Dev

无法将电话号码插入数据库(MS Access文件)

来自分类Dev

从数据库php调用后,将tel:添加到电话号码

来自分类Dev

Django从HTML页面向数据库添加数据

来自分类Dev

数据库表为空时如何从数据库获取最大ID?

来自分类Dev

将数据库设置为以非独占模式打开

来自分类Dev

SQL Server数据库将“ć”存储为“ c”

来自分类Dev

如何将JSON文档解析为数据库

来自分类Dev

如何将MySQL数据库导出为CSV

来自分类Dev

将数据库行检索为哈希图

来自分类Dev

Logcat将数据库条目显示为空值

来自分类Dev

C#将大型数据库导出为XML