Come generare una stringa casuale in JavaScript

1 set 2022 3 min di lettura
Come generare una stringa casuale in JavaScript
Indice dei contenuti

Introduzione

Le stringhe casuali vengono utilizzate per vari scopi nello sviluppo del software. Ad esempio, possono essere utilizzati per codificare ID utente, generare password e costruire token nelle applicazioni. Se stai sviluppando un programma basato su JavaScript che necessita di stringhe casuali o qualsiasi altro tipo di dati pseudocasuali, allora questo articolo fa per te! Vedete, generare caratteri casuali (o stringhe) è facile con gli strumenti e le tecniche giusti.

Perché abbiamo bisogno di stringhe casuali?

Le stringhe casuali vengono utilizzate per costruire token, ID utente e password nel software. Supponiamo che tu voglia creare un sistema di accesso per un'applicazione web. È necessario assegnare a ciascun utente un ID di accesso univoco per consentirgli di accedere. È possibile creare una stringa casuale di caratteri che funga da ID utente. Lo stesso vale per i token utente, che vengono utilizzati da vari sistemi. Le stringhe casuali sono utili anche per generare vendite. Salt è una stringa casuale utilizzata per aggiungere ulteriore sicurezza ai sistemi di accesso. Rende più difficile per gli hacker eseguire la forza bruta o accedere al tuo sistema poiché devono indovinare un sale unico per ogni utente.

Modi per generare stringhe casuali in JavaScript

Questa sezione discute quattro metodi che consentono di generare una stringa casuale in JavaScript.

  • Crea un metodo personalizzato per generare una stringa casuale.
  • Utilizzo del metodo Math.random() per generare una stringa casuale.
  • Utilizzo del metodo crypto.getRandomValues() per generare una stringa casuale.
  • Utilizzo della libreria URNG per generare stringhe casuali – Discutiamo ogni metodo in dettaglio.

Creare un metodo personalizzato per generare una stringa casuale

È possibile creare un metodo personalizzato per generare una stringa casuale. Qui abbiamo definito le parole, i numeri e i caratteri speciali. Puoi chiamare questa funzione javascript in qualsiasi momento per generare una stringa casuale:

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));

Utilizzare il metodo Math.random() per generare una stringa casuale

Il metodo Math.random() restituisce un numero pseudocasuale compreso tra 0 e 1. Questo metodo utilizza la data e l'ora correnti come fonte di entropia. In JavaScript, le stringhe sono rappresentate da una sequenza di caratteri tra due virgolette (""). Poiché le stringhe sono solo una sequenza di caratteri, possiamo usare il metodo Math.random() per generare una stringa casuale. Diamo un'occhiata a un esempio di base in cui costruiamo una stringa casuale usando il metodo Math.random(). Scriviamo un programma JavaScript che crei una stringa usando il metodo Math.random:

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

Questo programma crea una stringa casuale e la registra nella console JavaScript. Puoi vedere nello screenshot qui sotto, la stringa è completamente casuale.

Utilizzare il metodo crypto.getRandomValues() per generare una stringa casuale

Il metodo crypto.getRandomValues() restituisce una sequenza pseudocasuale di byte da un generatore di numeri casuali crittografici. Questo metodo fa parte dell'API JavaScript Crypto. Diamo un'occhiata a un esempio in cui utilizziamo il metodo crypto.getRandomValues() per generare una stringa casuale. Scriviamo un programma JavaScript che crei una stringa usando il metodo crypto.getRandomValues:

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

In questo programma, creiamo una stringa casuale usando il metodo crypto.getRandomValues() passando 16 come argomento. In questo modo si istruisce il metodo a restituire 16 byte casuali. Diamo un'occhiata all'output di questo programma nello screenshot qui sotto.

Utilizzare la libreria URNG per generare stringhe casuali

Sono disponibili alcune librerie per la generazione di dati casuali in JavaScript. Una di queste librerie è la libreria Universal Random Number Generators (URNG). La libreria può essere installata da npm o da NPM se stai usando JavaScript sul back-end. Diamo un'occhiata a un esempio in cui utilizziamo la libreria URNG per generare una stringa casuale. Scriviamo un programma JavaScript che crei una stringa usando la libreria URNG:

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

In questo programma, creiamo una stringa casuale usando la libreria URNG passando 15 come argomento. In questo modo si indica alla libreria di restituire 15 caratteri. Diamo un'occhiata all'output di questo programma nello screenshot qui sotto.

Conclusione

In questo articolo, abbiamo discusso del motivo per cui abbiamo bisogno di stringhe casuali e di quattro metodi diversi per generarle in JavaScript. Riassumiamo i suggerimenti discussi in questo articolo. In primo luogo, ricorda che la casualità è uno stato di incertezza. In altre parole, è la mancanza di uno schema coerente. Quindi, tutto ciò che non è prevedibile è considerato casuale. Quindi, assicurati di non utilizzare Math.random() per generare dati non casuali. È progettato per generare una sequenza di numeri imprevedibili. Quindi, non usarlo per generare numeri con uno schema specifico. Infine, ricorda di implementare una soluzione che genera stringhe casuali non ripetitive utilizzando un'origine dati casuale. In questo modo si assicura che ogni stringa sia unica e imprevedibile.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

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.