0

自動生成されたキーを作成し、登録プロセスのためにメールで送信する必要があります。キーの長さは少なくとも 50 文字 (facebook Appid など) で、一意である必要があります。データベースとしてphpテクノロジーとmysqlを使用しています。

私はphpが初めてで、助けが必要です。

4

4 に答える 4

3

正確に 50 文字で、暗号的に安全な文字列を使用します。

openssl_random_pseudo_bytes(50);
于 2013-08-13T09:17:35.793 に答える
0

任意の文字列からハッシュを生成できます。

ソース文字列が一意である限り、ハッシュも一意になります。

たとえば、碑文のタイムスタンプとユーザー ID を使用して (同じ秒に 2 ユーザーが登録された場合の重複を避けるため)、任意のハッシュ関数 (32 文字の場合は md5、40 文字の場合は sha1、50 文字の場合は別) を使用できます。

unqid は現在の時刻から生成され、ほぼ一意です (uniqid が同じマイクロ秒で呼び出されると衝突が発生する可能性があるため、99.99% の確率で)。

openssl_random_pseudo_bytes はランダムな文字列を生成する可能性がありますが、実装はドキュメントで十分に指定されていないため、衝突のリスクを確認できません。また、URL で安全に使用するには、bin2hex を使用してより標準的な文字列に変換する必要があります。

于 2013-08-13T09:23:15.787 に答える
0

この関数を使用してそれを行うことができます

function genRandomString()    {        $length = 10;   
$characters = "0123456789abcdefghijklmnopqrstuvwxyz";      
$string ="" ;             
for ($p = 0; $p < $length; $p++) {       
    $string .= $characters[mt_rand(0, strlen($characters))];      
}       

return $string;    

}

使用できる長さの任意の数

于 2013-08-13T09:26:33.430 に答える