Heim > Artikel > Backend-Entwicklung > So generieren Sie einen Empfehlungscode, der absolut einzigartig und nicht leicht zu erraten ist
Nicht in die Datenbank einchecken
Nicht in die Datenbank einchecken
<code class="php">function makeCode($t) { $time = $t.mt_rand(10,99); // 要是觉得不够可以加上线程ID等。 $ce = $time[9]; $xy = array(); $xy[0] = array('A','F','D','X','G','H','K','U','P','Y','W','P'); $xy[1] = array('R','G','H','P','X','D','Y','U','K','F','S','Z'); // ... 不重复的序列即可 $xy[9] = array('S','K','T','U','E','Q','V','G','R','X','C','J'); $rb = ''; for ($i = 12;$i--;) { $rb .= $xy[$ce][$time[$i]]; } return $rb; } makecode(time())</code>
Für 绝对唯一
verwenden Sie bitte UUID
Wenn Sie beispielsweise ein Linux-System verwenden, können Sie
<code>echo file_get_contents('/proc/sys/kernel/random/uuid'); // 输出: 6c509fc7-328b-4d82-9af8-60c44e7b84b4</code>
Sobald Sie eine einzigartige Saite wie die obige erhalten haben, können Sie damit machen, was Sie wollen, z. B. sie auf die gewünschte Länge zuschneiden.
Es gibt viele Möglichkeiten, UUID in PHP zu generieren. Das Obige ist nur eine einfache Verwendung. Ich empfehle auch einen Link zur Klassenbibliothek
<code>echo substr(md5(uniqid(mt_rand(1000, 9999), true)), 20); // 输出:1c7a6db616de </code>
<code>echo bin2hex(openssl_random_pseudo_bytes(16)); // 输出: 5a8a80e06ffe44fd0a6931707a26f0cc</code>Ebenso können Sie es auch frei abfangen
http://hashids.org/
Fügen Sie einfach einen Prüfcode hinzu