我正在为 IT 技术服务开发一个简单的管理系统。该系统有一个网站,客户可以通过输入他们的唯一代码来检查他们的订单的当前状态。当然,这段代码必须是唯一的,并且希望不容易(手动)暴力破解。
我正在考虑在“XKF-042”行的某处输出,易于阅读和写下。问题出现在这些值的生成上:我可以使用纯随机数据并生成两段代码,但这迫使我检查代码是否已经存在,这感觉就像是资源的指数浪费。
一个简单的答案是从任意数字开始计数,比如“ABC-001”,然后加 1,因此不需要检查该值是否已经存在。问题在于暴力破解的容易程度。任何人都可以检查 ABC-XXX 并检查最后一千个连续订单。
数学不是我的强项,但我知道必须有一个更优雅的解决方案来解决这个问题。
我正在考虑为代码的每一侧生成每一个可能的排列并将它们打乱,所以我有一个看似随机的配对列表可供读取,并且可能每 1000 个代码移动一次“代码右侧”列表。
编辑:无法猜测代码并不重要;除了订单信息和成本外,输出不会有任何个人信息。我可以使用 4x4 代码(如“SJDM-4823”)使其“更强大”。
莫回无
慕妹3146593