Mit diesem fertigen PHP Snippet können Sie eine Unique Random ID generieren, welche nicht nur auf uniqid, sondern auch auf andere Faktoren basiert und angepasst werden kann

Code Snippet und Erklärung

Wir empfehlen die Nutzung als Public Function, da die Methode bereits eigenständig ist und ohne weitere Maßnahmen eingebunden werden kann:

 

/**
   * @param string $prefix Add a prefix for more randomness
   * @param int $length Add a custom length
   * @return string $uniqueId32
   */
   public function generateUniqueId(int $length = 32, string $prefix = '') {
            
      $uniqueId = uniqid($prefix, true);
        
      $ipAddress = $_SERVER['REMOTE_ADDR'];
      $userAgent = $_SERVER['HTTP_USER_AGENT'];
        
      $hash = hash('sha256', $uniqueId . $ipAddress . $userAgent);

      $substSelector = rand(0,($length -1));
        
      $uniqueId32 = substr($hash, $substSelector, $length);
        
      return $uniqueId32;
   }

 

Damit die Verwendung in Ihrer IDE einfacher wird, haben wir bereits die Parameter definiert.

Der Aufruf läuft wie folgt:

 

$id = $this->generateUniqueId(); //Ohne Parameter - generiert ohne Prefix 32 Zeichen
$id = $this->generateUniqueId(10); //Generiert ohne Prefix 10 Zeichen
$id = $this->generateUniqueId(10, '283g092h3g'); //Generiert mit Prefix, 10 Zeichen

 

 

 

Previous PostPHP Pagination Tutorial: Wie Sie Datenlisten mit Seiten portionieren können
Next Post.htaccess: Domain oder URL-Pfad mit Passwort sichern