"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > PHP genera un método de cadena alfanumérica aleatoria segura

PHP genera un método de cadena alfanumérica aleatoria segura

Publicado el 2025-04-18
Navegar:370

How Can I Generate Secure Random Alphanumeric Strings in PHP?

generando cadenas alfanuméricas aleatorias

en varias aplicaciones, como enlaces de verificación de cuentas, es crucial generar cadenas únicas y aleatorias que consisten en números y letras. Así es como puede lograr esto en php:

php 7

php 7 presenta la función random_bytes ($ long) para proporcionar bytes pseudo-random criptográficamente seguros. Un ejemplo:

$bytes = random_bytes(20);
var_dump(bin2hex($bytes));

esto producirá una salida como:

string(40) "5fe69c95ed70a9869d9f9af7d8400a6673bb9ce9"

php 5 5 5 5 5 5 5 5 5 5 5 5 (Overdated)

Para Php 5, se recomienda utilizar OpenSSL_RANDOM_PSEUDO_BYTES (), que genera tokens criptográficamente seguros. Una solución simple:

bin2hex (openssl_random_pseudo_bytes ($ bytes))
bin2hex(openssl_random_pseudo_bytes($bytes))

más segura de enfoque

para mejorar la seguridad, la siguiente función puede generar una cadena de longitud alphanumérica, y un sinfanumérica. GetToken ($ longitud) { $ CodealPhabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $ max = strlen ($ codealphabet); // Editado para ($ i = 0; $ i & lt; $ longitud; $ i) { $ token. = $ Codealphabet [crypto_rand_secure (0, $ max-1)]; } devolver $ token; }

Este enfoque incorpora crypto_rand_secure ($ min, $ max) como un reemplazo de entrega para rand () o mt_rand (), utilizando OpenSSL_RANDOM_PSEUDO_BYTES para garantizar la aleatoriedad.
            
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3