


[PHP]利用openssl_random_pseudo_bytes跟base64_encode函数来生成随机字符串
[PHP]利用openssl_random_pseudo_bytes和base64_encode函数来生成随机字符串
openssl_random_pseudo_bytes函数本身是用来生成指定个数的随机字节,因此在使用它来生成随机字符串时,还需要配合使用函数base64_encode。如下所示:
<code class="php hljs "><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getRandomString</span><span class="hljs-params">(<span class="hljs-variable">$length</span> = <span class="hljs-number">42</span>)</span> {</span> <span class="hljs-comment">/* * Use OpenSSL (if available) */</span> <span class="hljs-keyword">if</span> (function_exists(<span class="hljs-string">'openssl_random_pseudo_bytes'</span>)) { <span class="hljs-variable">$bytes</span> = openssl_random_pseudo_bytes(<span class="hljs-variable">$length</span> * <span class="hljs-number">2</span>); <span class="hljs-keyword">if</span> (<span class="hljs-variable">$bytes</span> === <span class="hljs-keyword">false</span>) <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> RuntimeException(<span class="hljs-string">'Unable to generate a random string'</span>); <span class="hljs-keyword">return</span> substr(str_replace([<span class="hljs-string">'/'</span>, <span class="hljs-string">'+'</span>, <span class="hljs-string">'='</span>], <span class="hljs-string">''</span>, base64_encode(<span class="hljs-variable">$bytes</span>)), <span class="hljs-number">0</span>, <span class="hljs-variable">$length</span>); } <span class="hljs-variable">$pool</span> = <span class="hljs-string">'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'</span>; <span class="hljs-keyword">return</span> substr(str_shuffle(str_repeat(<span class="hljs-variable">$pool</span>, <span class="hljs-number">5</span>)), <span class="hljs-number">0</span>, <span class="hljs-variable">$length</span>); }</code>
在调用base64_encode函数之后,还对结果进行了一次替换操作,目的是要去除随机生成的字符串中不需要的字符。
当然,在使用openssl_random_pseudo_bytes函数之前,最好使用function_exists来确保该函数在运行时是可用的。如果不可用,则使用Plan B:
<code class="php hljs ">substr(str_shuffle(str_repeat(<span class="hljs-variable">$pool</span>, <span class="hljs-number">5</span>)), <span class="hljs-number">0</span>, <span class="hljs-variable">$length</span>);</code>
这个函数的通用性很强,可以根据业务的需要进行适当修改然后当作静态方法进行调用。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Nginx est un logiciel largement utilisé dans les serveurs Web, les équilibreurs de charge, les proxys inverses et les caches. Lors de la transmission réseau, le cryptage et la sécurité des données font l’objet d’une attention croissante. Afin d'améliorer la sécurité des communications, la bibliothèque OpenSSL peut être utilisée pour implémenter le protocole SSL/TLS pour protéger la transmission de données sensibles. Cet article expliquera comment utiliser Nginx et la bibliothèque OpenSSL pour obtenir une communication plus sécurisée. Installez et configurez la bibliothèque OpenSSL. Tout d'abord, vous devez installer la bibliothèque OpenSSL sur le serveur. peut faire

Introduction à l'utilisation d'OpenSSL pour générer un certificat SSL MySQL : MySQL est un système de base de données relationnelle largement utilisé. Il est très important d'utiliser le protocole SSL (SecureSocketsLayer) pour les communications cryptées dans les environnements de production réels. Cet article expliquera comment utiliser l'outil OpenSSL pour générer un certificat SSL MySQL et fournira des exemples de code correspondants. Étapes : Installer OpenSSL : Tout d’abord, assurez-vous qu’OpenSSL est installé sur votre ordinateur.

Ceci est destiné aux utilisateurs qui souhaitent effectuer une activation manuelle. Si vous avez besoin d'aide avec un outil pour ce faire, vérifiez ici. Nous pouvons diviser le processus d'activation manuelle en deux parties. 1- À partir du fichier batch prêt à l’emploi, assurez-vous qu’Internet est activé. Ouvrez Windows Powershell en tant qu'administrateur et saisissez ce qui suit pour répertorier les commandes dans l'ordre dans lequel elles sont données. Entrez la clé (remplacez par la clé de la liste ci-dessus) Utilisez la commande suivante <key>slmgr/ipk<key> Téléchargez le ticket universel à partir d'ici et extrayez le fichier téléchargé. Entrez maintenant le code suivant dans Powershell (Get-ItemProper

En tant que système d'exploitation open source, LINUX dispose d'un large éventail d'applications et de groupes d'utilisateurs. CentOS7 est une version dérivée de LINUX. Il est construit sur la base du code source de Red Hat Enterprise Linux (RHEL) et présente un haut degré de stabilité et de sécurité. . Il peut être installé et configuré sur CentOS7. OpenBLAS et OpenSSL sont des besoins courants de nombreux développeurs et administrateurs système. Cet article détaillera comment installer et configurer OpenBLAS et OpenSSL sur CentOS7. OpenBLAS est une bibliothèque mathématique open source haute performance basée sur l'interface BLAS (BasicLinearAlgebraSubprograms).

Utilisez la fonction String.length() de Java pour obtenir la longueur d'une chaîne. En programmation Java, la chaîne est un type de données très courant. Nous avons souvent besoin d'obtenir la longueur d'une chaîne, c'est-à-dire le nombre de caractères qu'elle contient. En Java, nous pouvons utiliser la fonction length() de la classe String pour obtenir la longueur d'une chaîne. Voici un exemple de code simple : publicclassStringLengthExample{publ

Utilisation simple de la démo de la bibliothèque pythonrandom Lorsque nous devons générer des nombres aléatoires ou sélectionner aléatoirement des éléments d'une séquence, nous pouvons utiliser la bibliothèque aléatoire intégrée de Python. Ce qui suit est un exemple annoté qui montre comment utiliser la bibliothèque aléatoire : #Importer une bibliothèque aléatoire importrandom #Générer une décimale aléatoire entre 0 et 1 random_float=random.random()print(random_float)#Générer une décimale aléatoire dans la plage spécifiée Random entier (y compris les points de terminaison) random_int=random.randint(1,10)print(random_int)#

Java utilise la fonction nextDouble() de la classe Random pour générer des nombres aléatoires à virgule flottante double précision. La classe Random en Java est un générateur de nombres pseudo-aléatoires qui peut être utilisé pour générer différents types de nombres aléatoires. Parmi eux, la fonction nextDouble() est utilisée pour générer un nombre aléatoire à virgule flottante double précision. Avant d'utiliser la classe Random, nous devons d'abord importer le package java.util. Ensuite, nous pouvons créer un objet Random et utiliser la fonction nextDouble()

Dans le langage Go, le package bytes est un package permettant de manipuler les types d'octets et il contient de nombreuses méthodes utiles, telles que la méthode Split(). Cependant, vous pouvez rencontrer une erreur « undéfini : octets.Split » lors de l'utilisation de la méthode Split(). Cette erreur est généralement causée par des versions Go incompatibles ou par le manque de bibliothèques dépendantes nécessaires. Cet article présentera quelques méthodes pour résoudre cette erreur. Méthode 1 : mettez à niveau la version Go comme suit
