Как сгенерировать случайную строку в JavaScript

12 set 2022 3 min di lettura
Как сгенерировать случайную строку в JavaScript
Indice dei contenuti

Введение

Случайные строки используются для различных целей в разработке программного обеспечения. Например, их можно использовать для шифрования идентификаторов пользователей, генерации паролей и создания токенов в приложениях. Если вы разрабатываете программу на основе JavaScript, которой нужны случайные строки или любой другой тип псевдослучайных данных, то эта статья для вас! Видите ли, генерировать случайные символы (или строки) легко с помощью правильных инструментов и методов.

Зачем нам нужны случайные строки?

Случайные строки используются для создания токенов, идентификаторов пользователей и паролей в программном обеспечении. Допустим, вы хотите создать систему входа для веб-приложения. Каждому пользователю должен быть присвоен уникальный идентификатор входа, чтобы он мог войти в систему. Вы можете создать случайную строку символов, которая будет действовать как идентификатор пользователя. То же самое верно и для пользовательских токенов, которые используются различными системами. Случайные строки также полезны для увеличения продаж. Соль — это случайная строка, используемая для дополнительной защиты доступа к системам. Это усложняет хакерам взлом или вход в вашу систему, поскольку им приходится угадывать уникальную соль для каждого пользователя.

Способы генерации случайных строк в JavaScript

В этом разделе обсуждаются четыре метода, которые позволяют генерировать случайную строку в JavaScript.

  • Создайте собственный метод для генерации случайной строки.
  • Использование Math.random() для генерации случайной строки.
  • Использование crypto.getRandomValues() для генерации случайной строки.
  • Использование библиотеки URNG для генерации случайных строк. Давайте подробно обсудим каждый метод.

Создайте собственный метод для генерации случайной строки

Вы можете создать собственный метод для генерации случайной строки. Здесь мы определили слова, числа и специальные символы. Вы можете вызвать эту функцию javascript в любое время, чтобы сгенерировать случайную строку:

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

Используйте метод Math.random() для генерации случайной строки

Метод Math.random() возвращает псевдослучайное число от 0 до 1. Этот метод использует текущую дату и время в качестве источника энтропии. В JavaScript строки представлены последовательностью символов между двумя кавычками (""). Поскольку строки — это просто последовательность символов, мы можем использовать метод Math.random() для генерации случайной строки. Давайте рассмотрим базовый пример, в котором мы строим случайную строку с помощью Math.random(). Напишем программу на JavaScript, которая создает строку с помощью метода Math.random:

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

 console.log(randomString);

Эта программа создает случайную строку и регистрирует ее в консоли JavaScript. Вы можете видеть на скриншоте ниже, что строка полностью случайна.

Используйте метод crypto.getRandomValues() для генерации случайной строки

Метод crypto.getRandomValues() возвращает псевдослучайную последовательность байтов из криптографического генератора случайных чисел. Этот метод является частью Crypto JavaScript API. Давайте рассмотрим пример, где мы используем метод crypto.getRandomValues() для генерации случайной строки. Напишем программу на JavaScript, которая создает строку с помощью метода crypto.getRandomValues:

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

 console.log(randomString);

В этой программе мы создаем случайную строку, используя метод crypto.getRandomValues(), передавая 16 в качестве аргумента. Это указывает методу вернуть 16 случайных байтов. Давайте посмотрим на вывод этой программы на скриншоте ниже.

Используйте библиотеку URNG для генерации случайных строк

Есть несколько библиотек для генерации случайных данных в JavaScript. Одной из таких библиотек является библиотека универсальных генераторов случайных чисел (URNG). Библиотека может быть установлена с помощью npm или NPM, если вы используете JavaScript на сервере. Давайте рассмотрим пример, в котором мы используем библиотеку URNG для генерации случайной строки. Давайте напишем программу на JavaScript, которая создает строку с помощью библиотеки URNG:

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

В этой программе мы создаем случайную строку, используя библиотеку URNG, передавая 15 в качестве аргумента. Это указывает библиотеке вернуть 15 символов. Давайте посмотрим на вывод этой программы на скриншоте ниже.

Вывод

В этой статье мы обсудили, зачем нам нужны случайные строки и четыре разных метода для их генерации в JavaScript. Подытожим советы, рассмотренные в этой статье. Во-первых, помните, что случайность — это состояние неопределенности. Другими словами, это отсутствие последовательного шаблона. Следовательно, все, что не предсказуемо, считается случайным. Итак, убедитесь, что вы не используете Math.random() для генерации неслучайных данных. Он предназначен для генерации непредсказуемой последовательности чисел. Поэтому не используйте его для генерации чисел по определенному шаблону. Наконец, не забудьте реализовать решение, которое генерирует неповторяющиеся случайные строки с использованием случайного источника данных. Это гарантирует, что каждая строка уникальна и непредсказуема.

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.