Steve TENZA
Intervient pour votre site internet
Facebook Me contacter Cookie
Télécharger
Noter:
5/5 (3)
Ajouté/Modifié le 2023-11-02
Visionné 6689 fois

Générer des chaînes aléatoires en PHP

Description

Ce script PHP génère des chaînes de caractères aléatoires avec personnalisation ; chaînes de caractères, avec ou sans caractères spéciaux, en spécifiant la longueur souhaitée.

En réalité, ce script constitue une amélioration par rapport à un script existant et s'appuie sur mes propres compétences et connaissances en PHP. Il vous permet de réaliser plusieurs tâches pratiques, notamment :

- Renforcer la sécurité de vos comptes en générant des mots de passe aléatoires.
- Créer des codes aléatoires à utiliser dans des confirmations d'inscription ou d'autres processus d'authentification.
- Générer des identifiants aléatoires pour des utilisateurs ou des sessions.
- Créer des jetons d'authentification sécurisés pour protéger les données sensibles.
- Générer des clés de chiffrement aléatoires pour sécuriser vos communications en ligne.

En somme, ce script polyvalent vous permet de répondre à divers besoins liés à la génération de chaînes aléatoires, offrant un contrôle total sur leur longueur et leur composition, ce qui le rend particulièrement utile dans de nombreux scénarios d'application.


function aleatoire($longueur=5,$choix="speciaux,chiffres,lettresmin,lettresmaj,tous"){
$choix=explode(",",$choix);
$ChaineAutiliser="";
$CaracteresSpeciaux="~#{[|`$^@]*)\"^'}@^!:/.?,+-(";//mettez tous vos caractères spéciaux, faite attention que ces caractères sont susceptibles d'aller dans une base de données, suivant votre utilisation
foreach($choix as $lechoix){
switch($lechoix){
case "speciaux":
$ChaineAutiliser.=$CaracteresSpeciaux;
break;
case "chiffres":
$ChaineAutiliser.="0123456789";
break;
case "lettresmin":
$ChaineAutiliser.="abcdefghijklmnopqrstuvwxyz";
break;
case "lettresmaj":
$ChaineAutiliser.="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
break;
case "tous":
$ChaineAutiliser="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".$CaracteresSpeciaux;
break;
default:
$ChaineAutiliser.="ABCDEFGHIJKLMNOPQRSTUVWXYZ";//si le choix n'est pas bon, on met une chaine par défaut
}
}
$ChaineDeRetour="";
for($i=1;$i<=$longueur;$i++){//notre chaine de retour contiendra le nombre de caractères demandés
$ChaineDeRetour .= substr($ChaineAutiliser,rand(0,strlen($ChaineAutiliser)-1),1);//rand(1,le nombre de caractère total utilisables) + 1 nous permet de prendre un seul caractère aléatoirement, dans les types de chaines demandées, pour l'ajouter au fur et à mesure grâce à .= qui dit "ajouter à la suite"
}
return $ChaineDeRetour;
}
?>
//Son utilisation est simplifié au max, il vous suffit d'appeler la fonction aleatoire(), plusieurs exemples, ci-dessous:
aleatoire(15);//une chaine d'une longueur de 15 caractères, avec les caractères par défauts, en l'occurrence, des lettres majuscules
aleatoire(7,"tous");//une chaine avec tous les caractères, d'une longueur de 7 caractères
aleatoire(10,"speciaux,lettresmaj,chiffres");//une chaine avec des caractères spéciaux, des lettres en majuscules et des chiffres, d'une longueur de 10 caractères


J'espère que ce script gratuit vous est utile.
Pour soutenir mon travail, un simple don ou mettre une note est grandement apprécié.
Votre réussite en ligne commence ici

Vous cherchez à pousser encore plus loin vos idées ou à les concrétiser avec un site internet sur mesure ? Je suis là pour vous aider ! Mon expérience en développement web est à votre disposition.

Que ce soit la création de votre site web pro ou l'apport de fonctionnalités avancées à votre projet, contactez-moi pour en discuter et avoir un devis gratuit personnalisé.

Mon objectif est de vous offrir des solutions sur mesure qui répondent à vos besoins, et votre vision associée à mon expertise donnera vie à votre projet web parfait. Contactez-moi aujourd'hui, je réponds en général en moins d'une heure :

Demander un devis
Réponse rapide !

Vous recherchez un script précis ?

Dites-moi ce dont vous avez besoin, je peux développer le script demandé et vous envoyer un mail dès qu'il est dispo !

🔔 Vous pouvez laisser votre mail pour recevoir les nouveaux scripts. Pas de pub, pas de tracas. Vous êtes libre de le supprimer à tout moment.

Je prends en compte toutes les demandes. Les idées les plus populaires passent en priorité et seront publiées dès qu'elles seront prêtes. 2877 demandes reçues.

Si vous avez un projet en tête, je vous suggère de me contacter directement pour en discuter.

Commentaires

Ajouter un commentaire

Commenter
Pseudo/Nom
Email
Message
Captcha
memo1
Commenter

cpustack le 12 Janvier 2017 à 08:29

Bonjour,
Petit soucis : la longueur de la chaine retournée est elle aussi aléatoire ;-)
A la place du
for ($i..
mieux vaut mettre un
while (strlen($ChaineDeRetour)< $longueur)

@+
Fabien

admin le 01 Décembre 2017 à 21:13

Bonjour,

j'ai mis à jour le script car il avait un bug, en effet au niveau du for($i=0... j'ai remplacé par for($i=1... afin de de faire réellement $longueur caractères et j'ai ensuite corrigé un bug au niveau du rand(1... que j'ai remplacé par rand(0... ce qui est plus logique, en fin j'ai rajouté un -1 après le strlen($ChaineAutiliser)-1 pour pas créer de bug avec la fonction substr qui pourrait prendre un caractère après le dernier caractère de la chaine à utiliser, soit rien, ce qui créé un booléan soit un false et donc un caractère en moins de ce qu'on lui demander d'afficher.

Retour à la liste des scripts

Un site à créer ?
Contactez-moi