条形码 ID 序列:添加随机性
barcode id sequence: adding randomness
我想知道我的条形码序列方法是否足够随机和安全。我目前使用的条形码格式如下:
{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
如果您只需要 4 个随机数,您的方法就可以工作,只需从输出中取出前四个:
echo substr(hexdec(crc32("1001-secret")), 0, 4);
只有四个数字,您将介于 0000-9999 之间,即 10,000 个不同的选项。如果这对您来说足够随机,那么您就准备好了。
我想知道我的条形码序列方法是否足够随机和安全。我目前使用的条形码格式如下:
{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
如果您只需要 4 个随机数,您的方法就可以工作,只需从输出中取出前四个:
echo substr(hexdec(crc32("1001-secret")), 0, 4);
只有四个数字,您将介于 0000-9999 之间,即 10,000 个不同的选项。如果这对您来说足够随机,那么您就准备好了。