Heim  >  Artikel  >  Backend-Entwicklung  >  So generieren Sie einen Empfehlungscode, der absolut einzigartig und nicht leicht zu erraten ist

So generieren Sie einen Empfehlungscode, der absolut einzigartig und nicht leicht zu erraten ist

WBOY
WBOYOriginal
2016-08-20 09:04:101436Durchsuche

Nicht in die Datenbank einchecken

Antwortinhalt:

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


Wenn es sich um einen allgemeinen Empfehlungscode handelt, muss er nicht kompliziert sein, es sei denn, Sie haben viele Benutzer. Wenn es sich um ein gewöhnliches Unternehmen handelt, ist das meiner Meinung nach ausreichend

<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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn