条形码id序列:添加随机性

时间:2017-06-20 14:17:55

标签: php mysql barcode

我想知道我的条形码序列方法是否足够随机和安全。我目前使用条形码格式如下:

{base36 encoded sequential id}-{4 random numeric characters}

ex.:
2v05-9187
2v06-3607
2v07-1810

我想切换到所有数字,以便在不可读的票证时更容易输入键盘:

34508-4821
34509-9615

很明显,黑客在这里发生了什么,但它相当安全(?)

我已经查看了像crc32这样的单向哈希,但是它产生了可变长度,更长的数字

echo hexdec(crc32("1000-secret"));
echo '<br>';
echo hexdec(crc32("1001-secret"));

//output:

1076135781
225104646983

1 个答案:

答案 0 :(得分:0)

如果你只想要4个随机数,你的方法就可以了,只需从输出中取出前四个:

echo substr(hexdec(crc32("1001-secret")), 0, 4);

只有四个数字,你将在0000-9999之间,这是10,000个不同的选项。如果这对你来说足够随机,那你就已经完成了。