1

このコードは、チケットの Uniques コードの生成に使用する予定です。

// 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);

このコードの問題点を教えていただけると助かります。

事前にThx。

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 に答える