1

此代码是我计划用于生成门票唯一代码的代码。

// A prefix to avoid uniqid collisions (when invoking this function at the same time).
// Should I use mt_rand or just rand?
$prefix = str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);

// uniqid with more entropy enabled.
$unique_id = uniqid("$prefix-", TRUE);

// A SHA-1 hash for the generated code, this way it looks less sequential.
$unique_id = sha1($unique_id);

如果您能告诉我此代码中的问题,将会更有帮助。

提前谢谢。

4

1 回答 1

1

这取决于要求,它必须是一个没人能猜到的超级秘密字符串吗?

如果没有,假设您也要将门票存储在数据库中,您可以使用$unique_id = sha1(DATABASE_KEY);

echo sha1(1) . "\n";
echo sha1(2) . "\n";
echo sha1(3) . "\n";

请参阅示例

现在你已经有了一个长而有趣的字符串,你甚至不需要存储它。

于 2012-05-11T21:19:03.343 回答