Maison  >  Article  >  développement back-end  >  Exercice de chaîne PHP 1 : générer un mot de passe aléatoire à partir d'une chaîne donnée

Exercice de chaîne PHP 1 : générer un mot de passe aléatoire à partir d'une chaîne donnée

藏色散人
藏色散人original
2021-07-30 10:35:262302parcourir

Bienvenue à tous sur ma chaîne ! Aujourd'hui, j'ai commencé à jouer à une nouvelle série sur la façon de jouer des chaînes PHP. Ne la manquez pas si vous passez par ici. Tout le monde est également invité à donner des suggestions raisonnables. Je ne suis pas un grand patron, je me consacre simplement à en obtenir de nouvelles. les gens ont commencé, mais je suis un grand expert technique. Pour des explications expérimentées, vous pouvez regarder "Tutoriel vidéo PHP", tout ce que vous voulez est ici !

Alors, commençons le texte !

Comme l'indique le titre, le centre de cet article porte sur la mise en œuvre de la génération de mots de passe aléatoires. Ainsi, lors de l'implémentation de nombres aléatoires en PHP, la première réaction de chacun est probablement la fonction rand, mais aujourd'hui, nous ne sommes pas autorisés à utiliser rand ! (Pour l'utilisation de rand, vous pouvez lire "Troisième pratique de la fonction mathématique PHP : utilisation intelligente de la fonction aléatoire rand ()rand函数,但是今天咱们不允许用rand!(关于rand的使用可以阅读《PHP数学函数实践三:随机函数rand()的巧妙运用》)

不用rand(),自然有其他方法,下面我来给大家介绍另一种简单的实现随机数的方法:

直接上代码:

<?php
function password_generate($chars)
{
$data = &#39;1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcefghijklmnopqrstuvwxyz&#39;;
  return substr(str_shuffle($data), 0, $chars);
}
  echo password_generate(7)."\n";

首先定义一个password_generate方法,然后在方法体内定义一个字符串,再结合str_shuffle和substrh函数来实现生成。

这里咱们给定的字符串就是“1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcefghijklmnopqrstuvwxyz”,要求就是在这个字符串里面随机密码。

运行结果看如下:

GIF 2021-7-30 星期五 上午 10-12-57.gif

依旧很简单吧!

这里,我们用到两个重要的函数,str_shuffle()substr()函数。

str_shuffle() 函数是用于随机地打乱字符串中的所有字符,其语法就是“str_shuffle(string)”。返回值是返回已打乱的字符串。

substr() 函数用于返回字符串的一部分,其语法是“substr(string,start,length) 》)

Il n'y a pas besoin de rand(), il existe d'autres méthodes. Laissez-moi vous présenter une autre méthode simple pour implémenter des nombres aléatoires :

Allez directement dans le code :rrreeeDéfinissez d'abord une méthode password_generate. , puis dans le corps de la méthode, définissez une chaîne et combinez-la avec les fonctions str_shuffle et substrh pour la générer.

🎜La chaîne qui nous est donnée ici est "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcefghijklmnopqrstuvwxyz", et la condition est d'avoir un mot de passe aléatoire dans cette chaîne. 🎜🎜Les résultats en cours sont les suivants : 🎜🎜 GIF 2021 -7-30 vendredi matin 10-12-57.gif🎜🎜C'est quand même très simple ! 🎜🎜Ici, nous utilisons deux fonctions importantes, les fonctions str_shuffle() et substr(). 🎜🎜🎜str_shuffle() La fonction est utilisée pour mélanger aléatoirement tous les caractères d'une chaîne. Sa syntaxe est "str_shuffle(string)". La valeur de retour est une chaîne brouillée. 🎜🎜substr() La fonction est utilisée pour renvoyer une partie de la chaîne. Sa syntaxe est "substr(string,start,length)". extraction de la partie de chaîne renvoyée, renvoie FALSE en cas d'échec ou renvoie une chaîne vide. 🎜🎜Il est à noter que si le paramètre start est un nombre négatif et que la longueur est inférieure ou égale au début, alors la longueur est 0. 🎜🎜Enfin, je voudrais vous recommander un cours classique sur notre plateforme "🎜PHP String Processing (Jade Girl Heart Sutra Edition)🎜", c'est gratuit~ venez apprendre ! 🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn