Cómo generar cadenas aleatorias en JavaScript

Cómo generar cadenas aleatorias en JavaScript

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

¿Por qué necesitamos cuerdas al azar??

Las cadenas aleatorias se utilizan para construir tokens, identificaciones de usuario y contraseñas en el software. Supongamos que desea crear un sistema de inicio de sesión para una aplicación web. Debe asignar a cada usuario una ID de inicio de sesión única para permitirles iniciar sesión. Puede crear una cadena aleatoria de caracteres para actuar como ID de usuario. Lo mismo se aplica a los tokens de usuario, que utilizan varios sistemas. Las cadenas aleatorias también son útiles para generar ventas. La sal es una cadena aleatoria que se usa para agregar seguridad adicional a los sistemas de inicio de sesión. Hace que sea más difícil para los piratas informáticos de la fuerza bruta o inicie 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 discute cuatro métodos que le permiten generar una cadena aleatoria en JavaScript.

  • Cree un método personalizado para generar cadenas aleatorias.
  • Uso de matemáticas.Método Random () para generar cadenas aleatorias.
  • Usando cripto.método getRandomValues ​​() para generar cadenas aleatorias.
  • Uso de la biblioteca URNG para generar cadenas aleatorias: discutamos cada método en detalle.

1. Cree un método personalizado para generar cadenas aleatorias

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

función genrandonstring (longitud) var chars = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*() '; var charlength = chars.longitud; Var result = "; for (var i = 0; i < length; i++ ) result += chars.charAt(Math.floor(Math.random() * charLength)); return result; console.log(genRandonString(12));
1234567891011function GenRandonstring (longitud) var chars = '[correo electrónico protegido]#$%^&*()'; var charlength = chars.longitud; Var result = "; for (var i = 0; i < length; i++ ) result += chars.charAt(Math.floor(Math.random() * charLength)); return result; console.log(genRandonString(12));

2. Uso de matemáticas.Método Random () para generar cadenas aleatorias

El Matemáticas.aleatorio() El método devuelve un número de pseudorandom entre 0 y 1. Este método utiliza la fecha y hora actuales como fuente de entropía. En JavaScript, las cadenas están representadas por una secuencia de caracteres entre dos citas dobles (""). Dado que las cadenas son solo una secuencia de caracteres, podemos usar las matemáticas.Método Random () para generar una cadena aleatoria. Veamos un ejemplo básico en el que construimos una cadena aleatoria usando las matemáticas.Método Random (). Escribamos un programa JavaScript que crea una cadena usando las matemáticas.método aleatorio.

var randomString = ""; randomstring += matemáticas.aleatorio(); randomstring += matemáticas.aleatorio(); randomstring += matemáticas.aleatorio(); consola.log (randomstring);
123456var randomString = ""; randomstring += matemáticas.aleatorio(); randomstring += matemáticas.aleatorio(); randomstring += matemáticas.aleatorio(); consola.log (randomstring);

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

Usando cripto.método getRandomValues ​​() para generar cadenas aleatorias

El cripto.getRandomValues ​​() El método devuelve una secuencia pseudorandom de bytes de un generador de números aleatorios criptográficos. Este método es parte de la API de cripto de JavaScript. Echemos un vistazo a un ejemplo en el que usamos la criptografía.método getRandomValues ​​() para generar una cadena aleatoria. Vamos a escribir un programa JavaScript que crea una cadena usando el cripto.Método GetRandomValues.

var randomString = ""; randomstring += crypto.GetRandomValues ​​(16).tostring (16); consola.log (randomstring);
12345var randomString = ""; randomstring += crypto.GetRandomValues ​​(16).tostring (16); consola.log (randomstring);

En este programa, creamos una cadena aleatoria usando el cripto.método getrandomValues ​​() pasando 16 como argumento. Hacer esto instruye al método para devolver 16 bytes aleatorios. Veamos la salida de este programa en la captura de pantalla a continuación.

Uso de la biblioteca URNG para generar cadenas aleatorias

Hay algunas bibliotecas disponibles para generar datos aleatorios en JavaScript. Una de esas bibliotecas es la biblioteca universal de generadores de números aleatorios (URNG). La biblioteca se puede instalar desde NPM o desde NPM si está utilizando 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 crea una cadena usando la biblioteca URNG.

var randomString = ""; randomstring += urng.generadorandomstring (15); consola.log (randomstring);
123var randomString = ""; randomstring += urng.generadorandomstring (15); consola.log (randomstring);

En este programa, creamos una cadena aleatoria utilizando la biblioteca URNG pasando 15 como argumento. Hacer esto instruye a la biblioteca que devuelva 15 caracteres. Veamos 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. Resumamos los consejos discutidos en este artículo. En primer lugar, recuerde que la aleatoriedad es un estado de incertidumbre. En otras palabras, es la falta de un patrón consistente. Entonces, cualquier cosa que no sea predecible se considera aleatoria. A continuación, asegúrese de que no esté usando matemáticas.Random () para generar datos no aleatorios. Está diseñado para generar una secuencia de números que son impredecibles. Por lo tanto, no lo use para generar números con un patrón específico. Finalmente, recuerde implementar una solución que genera cadenas aleatorias no repetitivas utilizando una fuente de datos aleatoria. Hacer esto asegura que cada cadena sea única e impredecible.