Cómo generar una cadena aleatoria en JavaScript

1 set 2022 3 min di lettura
Cómo generar una cadena aleatoria en JavaScript
Indice dei contenuti

Introducción

Las cadenas aleatorias se utilizan para diversos fines en el desarrollo de software. Por ejemplo, se pueden usar para cifrar ID de usuario, generar contraseñas y crear tokens en aplicaciones. Si está desarrollando un programa basado en JavaScript que necesita cadenas aleatorias o cualquier otro tipo de datos pseudoaleatorios, ¡entonces este artículo es para usted! Verá, generar caracteres aleatorios (o cadenas) es fácil con las herramientas y técnicas adecuadas.

¿Por qué necesitamos cadenas aleatorias?

Las cadenas aleatorias se utilizan para crear tokens, ID de usuario y contraseñas en el software. Supongamos que desea crear un sistema de inicio de sesión para una aplicación web. A cada usuario se le debe asignar una ID de inicio de sesión única para permitirles iniciar sesión. Puede crear una cadena aleatoria de caracteres para que actúe como ID de usuario. Lo mismo ocurre con los tokens de usuario, que utilizan varios sistemas. Las cadenas aleatorias también son útiles para generar ventas. Salt es una cadena aleatoria que se usa para agregar seguridad adicional a los sistemas de acceso. Hace que sea más difícil para los piratas informáticos usar la fuerza bruta o iniciar sesión en su sistema, ya que tienen que adivinar una sal única para cada usuario.

Formas de generar cadenas aleatorias en JavaScript

Esta sección analiza cuatro métodos que le permiten generar una cadena aleatoria en JavaScript.

  • Cree un método personalizado para generar una cadena aleatoria.
  • Usando el método Math.random()para generar una cadena aleatoria.
  • Usando el método crypto.getRandomValues()para generar una cadena aleatoria.
  • Uso de la biblioteca URNGpara generar cadenas aleatorias: analicemos cada método en detalle.

Crear un método personalizado para generar una cadena aleatoria

Puede crear un método personalizado para generar una cadena aleatoria. Aquí hemos definido las palabras, números y caracteres especiales. Puede llamar a esta función de javascript en cualquier momento para generar una cadena aleatoria:

function genRandonString(length) {
   var chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()';
   var charLength = chars.length;
   var result = '';
   for ( var i = 0; i < length; i++ ) {
      result += chars.charAt(Math.floor(Math.random() * charLength));
   }
   return result;
}
 
console.log(genRandonString(12));

Use el método Math.random () para generar una cadena aleatoria

El método Math.random()devuelve un número pseudoaleatorio entre 0 y 1 . Este método utiliza la fecha y la hora actual como fuente de entropía. En JavaScript, las cadenas se representan mediante una secuencia de caracteres entre dos comillas (""). Dado que las cadenas son solo una secuencia de caracteres, podemos usar el método Math.random()para generar una cadena aleatoria. Echemos un vistazo a un ejemplo básico en el que construimos una cadena aleatoria usando el método Math.random(). Escribamos un programa JavaScript que cree una cadena usando el método Math.random:

var randomString = ""; 
randomString += Math.random(); 
randomString += Math.random(); 
randomString += Math.random(); 
 
console.log(randomString); 

Este programa crea una cadena aleatoria y la registra en la consola de JavaScript. Puede ver en la captura de pantalla a continuación, la cadena es completamente aleatoria.

Use el método crypto.getRandomValues ​​​​() para generar una cadena aleatoria

El método crypto.getRandomValues()devuelve una secuencia pseudoaleatoria de bytes de un generador criptográfico de números aleatorios. Este método es parte de la API Crypto JavaScript. Veamos un ejemplo donde usamos el método crypto.getRandomValues()para generar una cadena aleatoria. Escribamos un programa JavaScript que cree una cadena usando el método crypto.getRandomValues:

var randomString = ""; 
randomString += Math.random(); 
randomString += Math.random(); 
randomString += Math.random(); 
 
console.log(randomString); 

En este programa, creamos una cadena aleatoria usando el método crypto.getRandomValues()pasando 16 como argumento. Esto le indica al método que devuelva 16 bytes aleatorios. Echemos un vistazo a la salida de este programa en la captura de pantalla a continuación.

Use la biblioteca URNG para generar cadenas aleatorias

Hay algunas bibliotecas disponibles para generar datos aleatorios en JavaScript. Una de estas bibliotecas es la biblioteca Universal Random Number Generators (URNG). La biblioteca puede ser instalada por npm o por NPM si está usando JavaScript en el backend. Echemos un vistazo a un ejemplo en el que usamos la biblioteca URNG para generar una cadena aleatoria. Escribamos un programa JavaScript que cree una cadena utilizando la biblioteca URNG:

var randomString = ""; 
randomString += URNG.generateRandomString(15); 
console.log(randomString);

En este programa, creamos una cadena aleatoria usando la biblioteca URNG pasando 15 como argumento. Esto le indica a la biblioteca que devuelva 15 caracteres. Echemos un vistazo a la salida de este programa en la captura de pantalla a continuación.

Conclusión

En este artículo, discutimos por qué necesitamos cadenas aleatorias y cuatro métodos diferentes para generarlas en JavaScript. Vamos a resumir los consejos discutidos en este artículo. Primero, recuerda que la aleatoriedad es un estado de incertidumbre. En otras palabras, es la falta de un patrón coherente. Por lo tanto, todo lo que no es predecible se considera aleatorio. Por lo tanto, asegúrese de no usarlo Math.random()para generar datos no aleatorios. Está diseñado para generar una secuencia impredecible de números. Por lo tanto, no lo use para generar números con un patrón específico. Finalmente, recuerde implementar una solución que genere cadenas aleatorias no repetitivas utilizando una fuente de datos aleatoria. Esto asegura que cada cadena sea única e impredecible.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.