1. ホーム
  2. php

[解決済み] ランダムでユニークな英数字の文字列を生成するには?

2022-03-23 18:51:26

質問

ベリファイリンクに使用する、数字と文字を使ったランダムでユニークな文字列を生成するにはどうすればよいでしょうか?例えば、あるウェブサイトでアカウントを作成すると、リンク付きの電子メールが送られてきて、そのリンクをクリックしないとアカウントが確認できないような場合です。

PHPで生成するにはどうしたらいいですか?

どのように解決するのですか?

<ブロッククオート

セキュリティに関するお知らせ : このソリューションは、ランダム性の品質がアプリケーションのセキュリティに影響を与えるような状況では使用しないでください。特に rand()uniqid() は、暗号学的に安全な乱数生成器ではありません。 . 参照 スコットの回答 を使用することで、安全な代替手段を確保することができます。

時間が経っても絶対に一意である必要がない場合。

md5(uniqid(rand(), true))

それ以外の場合(ユーザーの固有ログインをすでに決定している場合)。

md5(uniqid($your_user_login, true))