Comment générer une chaîne aléatoire en PHP [avec exemples]
Publié: 2020-11-24PHP, au moment de son lancement, signifiait Page d' accueil personnalisée . Et tandis que son parcours évolutif a donné à l'industrie une définition alternative et plus acceptable (récursive) en tant que PHP : Hypertext PreProcessor , la vérité sur PHP est qu'il s'imprègne toujours de l'esprit de personnalisation plus que toute autre chose.
Aujourd'hui, PHP est l'alternative la plus préférée, gratuite et open source à tous les autres langages de configuration de serveur, tels que l'ASP (Active Server Pages) de Microsoft. Une grande partie de cet aspect de personnalisation est réalisée par la présence d'un interpréteur PHP côté serveur, qui peut être implémenté sous forme de module , de démon ou d' exécutable .
Les interfaces PHP sont utiles dans la gestion des données importantes centrées sur l'utilisateur telles que les UID (identifiants uniques), les adresses e-mail, les noms d'utilisateur, les mots de passe, les informations de contact confidentielles, et bien plus encore.
Beaucoup, sinon tous, des principaux systèmes de gestion de contenu dynamique au monde (y compris le géant des CMS WordPress), sont des plates-formes basées sur PHP qui permettent la création et la maintenance faciles des enregistrements d'utilisateurs et des enregistrements de contenu, sous la forme de bases de données accessibles en PHP. .
Dans cet article, nous allons explorer un aspect particulier de PHP qui permet aux administrateurs de remplir si facilement tous les champs obligatoires nécessaires à la création d'un nouvel "utilisateur" avec une intervention minimale tant du côté administrateur que du côté utilisateur. . Pour ce faire, les administrateurs doivent apprendre à générer des chaînes aléatoires PHP, et c'est ce que nous allons couvrir.
Lire : Idées et sujets de projets PHP

Table des matières
Qu'est-ce qu'une chaîne aléatoire PHP ?
Une chaîne aléatoire PHP est une chaîne de caractères unique, aléatoire et alphanumérique qui peut être utilisée dans un tableau comme nom de fichier, comme extension d'URL aléatoire, comme mot de passe ou comme jeton d'authentification (comme les jetons d'API courants et API Secrets comme on le voit sur l'interface de développement d'applications de Facebook).
Les blogueurs fréquents, en particulier ceux qui utilisent des plates-formes telles que Medium pour publier leur travail, verront cet acte de génération de chaîne aléatoire en action chaque fois qu'ils publient une nouvelle histoire ou un nouvel article - l'extension d'URL qui suit le domaine de base est généralement le résultat d'un chaîne arbitraire générée par l'interface de publication.
Par exemple, dans l'URL https://medium.com/neli/shiring-revealing-the-best-kept-secret-of-ancient-indian-meditation-c37d87e3386b , la dernière partie de l'URL (c37d87e3386b) est un chaîne générée . D'autres références simples et importantes de chaînes aléatoires PHP incluent les mots de passe "par défaut" qui sont générés pour tous les nouveaux comptes d'utilisateurs sur WordPress.
Une majorité croissante de plates-formes Internet grand public se tournent également vers l'utilisation de chaînes aléatoires PHP pour tirer parti de la puissance du cryptage en permettant les connexions par « lien magique ». Si vous avez déjà utilisé un service basé sur le cloud qui utilise une connexion « lien magique », vous êtes déjà familiarisé avec la facilité, l'efficacité et la couche de sécurité améliorée fournie par la génération et le mappage de chaînes aléatoires PHP.
Comment générer une chaîne aléatoire PHP ?
La tâche à accomplir consiste à écrire du code qui génère des chaînes aléatoires, alphanumériques et uniques à l'aide de PHP. Il existe quatre manières différentes d'y parvenir :
- En utilisant la force brute (indexation aléatoire) - C'est de loin la méthode la plus simple, mais la plus grossière, pour obtenir une chaîne aléatoire PHP.
- En utilisant des fonctions de " hachage " (génération algorithmique de chaînes aléatoires PHP - c'est une approche un peu plus intelligente par rapport à l'utilisation de la force brute)
- En utilisant la fonction uniqid() intégrée (c'est simple et exploite une fonctionnalité PHP intégrée pour générer des identifiants uniques pour les éléments)
- En utilisant random_bytes() suivi de bin2hex() - il génère des octets aléatoires cryptographiquement sécurisés et offre des fonctionnalités étonnantes aux interfaces telles que les loteries en ligne, les jeux de poker en ligne et d'autres plates-formes qui nécessitent une génération de nombres en temps réel avec une véritable randomisation intégrée à leur cœur.
Lire aussi : Opportunités de carrière en PHP

Génération d'une chaîne aléatoire PHP à l'aide de Brute Force
Le concept de force brute de génération aléatoire de chaînes en PHP est le plus simple à comprendre et le plus facile à mettre en œuvre. En gros, l'approche de la force brute peut être expliquée en quatre étapes simples :
- Associez tous les caractères possibles et placez-les dans une chaîne (il s'agit de votre exemple de référentiel d'espace de tous les caractères autorisés dans votre chaîne).
- Générez un "index aléatoire" qui commence à 0 (zéro) et s'étend jusqu'à la longueur de chaîne "-1".
- Imprime un caractère à la position d'index actuelle.
- Si X est le nombre de caractères dont vous avez besoin dans votre chaîne (votre longueur de chaîne souhaitée), répétez les étapes 1, 2 et 3 X fois au total dans votre boucle d'instructions totale.
Comme vous pouvez le voir dans l'exemple d'implémentation de code ci-dessous, c'est de loin le moyen le plus simple de générer une chaîne aléatoire en PHP.
Exemple de code :
<?php
$n=10 ;
fonction getName($n) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$chaîne aléatoire = ”;
pour ($i = 0; $i < $n; $i++) {
$index = rand(0, strlen($characters) – 1);
$randomString .= $caractères[$index] ;
}
retourne $chaîne aléatoire ;
}
echo getName($n);
?>
Doit lire: Questions et réponses d'entrevue PHP
Génération d'une chaîne aléatoire PHP à l'aide des fonctions de "hachage"
PHP possède certaines fonctions intégrées appelées « fonctions de hachage », telles que md5 (), sha1 () et hash (). Ces fonctions peuvent être utilisées pour "hacher" une chaîne définie par des algorithmes spécifiques tels que "sha1", "sha256" et "md5". Dans toutes ces fonctions, l'argument est une chaîne et la sortie est une chaîne alphanumérique hachée (comme indiqué dans l'exemple de code ci-dessous).
Exemple de code :
<?php
$str=rand();
$résultat = md5($str);
echo $résultat ;
?>
Génération d'une chaîne aléatoire PHP à l'aide de la fonction intégrée "uniqid()"
PHP conserve un semblant de sa valeur en tant qu'outil de personnalisation par excellence, avec des fonctions intégrées spéciales telles que uniqid(), qui peuvent être utilisées pour générer un "identifiant unique (UID)" dérivé de l'heure actuelle, enregistré dans microsecondes (également appelées « microtemps »).
Sous la syntaxe par défaut, la fonction uniqid() renvoie toujours une chaîne alphanumérique unique d'une longueur de 13 caractères. Vous pouvez utiliser l'exemple de code ci-dessous pour tester une implémentation de la méthode uniqid().
Exemple de code :
<?php
$résultat = uniqid();
echo $résultat ;
?>
Génération d'une chaîne aléatoire PHP à l'aide de random_bytes() et bin2hex()
C'est de loin le moyen le plus évolué et le plus sûr de générer des octets "pseudo-aléatoires" puis de les convertir au format hexadécimal pour ajouter une couche de cryptage à la randomisation existante.
La première étape consiste à appeler la fonction intégrée random_bytes () pour générer des octets aléatoires cryptographiquement sécurisés. L'étape suivante consiste à appeler la fonction bin2hex () qui utilisera ces données binaires (nombre d'octets) comme argument et générera une valeur hexadécimale correspondante en sortie, qui est une chaîne Ceci est mieux expliqué dans l'exemple de code ci-dessous.
Exemple de code :
<?php

$ n = 20 ;
$résultat = bin2hex(random_bytes($n));
echo $résultat ;
?>
Et ensuite ?
upGrad apporte la programmation avec PHP et bien plus encore avec le diplôme PG d'upGrad en spécialisation en développement de logiciels en développement Full Stack . Un programme pour vous faire émerger en tant que développeur full stack et apprendre à créer certaines des applications géniales. Il s'agit d'un programme complet de 12 mois qui comprend le travail sur des projets et des missions en direct, ainsi que la formation de 15 langages et outils de programmation. Parallèlement à cela, il dispose d'un soutien de carrière de tous les temps avec des simulations d'entretiens et une aide à l'emploi.