我正在寻找一种对显示给最终用户的ID进行模糊处理的方法。但是具有静态位数Like the md5() function
,具有反转回原始ID的能力。
e.x: 1 => N9VRD7QB4SG2
e.x: 999999999 => RC401BALV74W
id = oldid ^ 0xfedad1234;
编码
现在
oldid = id ^ 0xfedad1234;
回到原点
不涉及 SQL
我想最简单的解决方案是使用原始 ID 哈希(加上盐)中的前 N 个字符并将关联存储在数据库表上:
hash_id | original_id
您可以按照以下建议选择哈希算法:http://www.php.net/manual/en/faq.passwords.php
编辑:正如zerkms所写,您希望在hash_id列上添加一个UNIQUE索引,以避免冲突哈希。