Как сгенерировать случайную строку в PHP [с примерами]

Опубликовано: 2020-11-24

PHP на момент запуска расшифровывался как Personalized Home Page . И хотя его эволюционный путь дал отрасли альтернативное и более приемлемое (рекурсивное) определение PHP: препроцессор гипертекста , правда о PHP заключается в том, что он по-прежнему впитывает дух персонализации больше, чем что-либо еще.

Сегодня PHP является наиболее предпочтительной бесплатной альтернативой с открытым исходным кодом всем другим ведущим языкам конфигурирования серверов, таким как Microsoft ASP (Active Server Pages). Большая часть этого аспекта персонализации поддерживается наличием интерпретатора PHP на стороне сервера, который может быть реализован в виде модуля , демона или исполняемого файла .

Интерфейсы PHP полезны при управлении важными пользовательскими данными, такими как UID (уникальные идентификаторы), адреса электронной почты, имена пользователей, пароли, конфиденциальная контактная информация и многое другое.

Многие, если не все, ведущие мировые системы управления динамическим контентом (включая гигантскую CMS WordPress) представляют собой платформы на основе PHP, которые позволяют легко создавать и поддерживать как пользовательские записи, так и записи контента в форме доступных для PHP баз данных. .

В этой статье мы рассмотрим один конкретный аспект PHP, который упрощает для администраторов заполнение всех обязательных полей, необходимых при создании нового «пользователя» с минимальным вмешательством как со стороны администратора, так и со стороны пользователя. . Для этого администраторы должны научиться генерировать случайные строки PHP, и это то, что мы рассмотрим.

Читайте: Идеи и темы проекта PHP

Оглавление

Что такое случайная строка PHP?

Случайная строка PHP — это уникальная, рандомизированная и буквенно-цифровая строка символов, которая может использоваться в массиве в качестве имени файла, в качестве случайного расширения URL-адреса, в качестве пароля или токена аутентификации (например, обычные токены API и секреты API в интерфейсе разработки приложений Facebook).

Постоянные блоггеры, особенно те, кто использует такие платформы, как Medium, для публикации своих работ, увидят этот акт генерации случайных строк в действии всякий раз, когда они публикуют новую историю или сообщение — расширение URL, которое следует за базовым доменом, обычно является результатом произвольная строка, генерируемая интерфейсом публикации.

Например, в URL-адресе https://medium.com/neli/shiring-revealing-the-best-kept-secret-of-ancient-indian-meditation-c37d87e3386b последняя часть URL-адреса (c37d87e3386b) представляет собой случайный сгенерированная строка . Другие простые и важные ссылки на случайные строки PHP включают пароли «по умолчанию», которые генерируются для всех новых учетных записей пользователей в WordPress.

Все большее число потребительских интернет-платформ также переходят на использование случайных строк PHP, чтобы использовать возможности шифрования для включения входа по «волшебной ссылке». Если вы когда-либо использовали облачный сервис, использующий вход по «волшебной ссылке», вы уже знакомы с простотой, эффективностью и повышенным уровнем безопасности, обеспечиваемым генерацией и отображением случайных строк PHP.

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

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

  1. Используя грубую силу (случайное индексирование) — это, безусловно, самый простой, но грубый метод получения случайной строки PHP.
  2. С помощью функций « хеширования » (алгоритмическая генерация случайных строк PHP — это немного более разумный подход по сравнению с использованием грубой силы)
  3. Используя встроенную функцию uniqid() (это просто и использует встроенную функциональность PHP для создания уникальных идентификаторов для элементов)
  4. Используя random_bytes() , за которым следует bin2hex() , он генерирует криптографически безопасные случайные байты и предлагает потрясающую функциональность для интерфейсов, таких как онлайн-лотереи, онлайн-игры в покер и другие платформы, которые требуют генерации чисел в реальном времени с истинной рандомизацией, встроенной в их ядро.

Читайте также: Возможности карьерного роста в PHP

Генерация случайной строки PHP с использованием грубой силы

Концепция грубой силы генерации случайных строк в PHP является самой простой для понимания и самой простой в реализации. В общих чертах подход грубой силы можно объяснить четырьмя простыми шагами:

  1. Разбейте все возможные символы и поместите их в одну строку (это хранилище всех допустимых символов в вашей строке).
  2. Создайте «случайный индекс», который начинается с 0 (ноль) и продолжается до длины строки «-1».
  3. Печатать символ в текущей позиции индекса.
  4. Если X - это количество символов, которое вам нужно в вашей строке (ваша желаемая длина строки), повторите шаги 1, 2 и 3 всего X раз в вашем общем цикле инструкций.

Как вы можете видеть в приведенном ниже примере реализации кода, это, безусловно, самый простой способ генерации случайной строки в PHP.

Образец кода:

<?php

$n=10;

функция getName($n) {

$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

$randomString = ";

для ($i = 0; $i < $n; $i++) {

$index = rand(0, strlen($characters) – 1);

$randomString .= $characters[$index];

}

вернуть $randomString;

}

эхо получитьИмя($n);

?>

Обязательно к прочтению: вопросы и ответы на собеседовании по PHP

Генерация случайной строки PHP с использованием функций «хеширования»

В PHP есть несколько встроенных функций, известных как « функции хэширования », такие как md5 (), sha1 () и hash (). Эти функции можно использовать для «хеширования» строки, определенной с помощью определенных алгоритмов, таких как «sha1», «sha256» и «md5». Во всех этих функциях аргументом является строка, а выводом является буквенно -цифровая хешированная строка (как показано в примере кода ниже).

Образец кода:

<?php

$строка=ранд();

$результат = md5($str);

эхо $результат;

?>

Генерация случайной строки PHP с использованием встроенной функции «uniqid()»

PHP сохраняет видимость своей ценности в качестве преимущественного инструмента персонализации со специальными встроенными функциями, такими как uniqid(), которые можно использовать для создания «уникального идентификатора (UID)», полученного из текущего времени, записанного в микросекунды (также известные как «микровремя»).

В соответствии с синтаксисом по умолчанию функция uniqid() всегда возвращает уникальную буквенно-цифровую строку длиной 13 символов. Вы можете использовать пример кода ниже, чтобы протестировать реализацию метода uniqid().

Образец кода:

<?php

$результат = уникальный();

эхо $результат;

?>

Генерация случайной строки PHP с использованием random_bytes() и bin2hex()

Это, безусловно, наиболее развитый и безопасный способ генерации «псевдослучайных» байтов и последующего преобразования их в шестнадцатеричный формат, чтобы добавить уровень шифрования к существующей рандомизации.

Первым шагом является вызов встроенной функции random_bytes () для генерации криптографически безопасных случайных байтов. Следующим шагом является вызов функции bin2hex (), которая будет использовать эти двоичные данные (количество байтов) в качестве аргумента и генерировать соответствующее шестнадцатеричное значение в качестве вывода, которое представляет собой совершенно удобную и Это лучше объясняется в приведенном ниже примере кода.

Образец кода:

<?php

$п = 20;

$result = bin2hex(random_bytes($n));

эхо $результат;

?>

Что дальше?

upGrad предлагает программирование с PHP и многое другое благодаря диплому upGrad PG по специализации разработки программного обеспечения в разработке полного стека . Программа, которая поможет вам стать полноценным разработчиком и научиться создавать потрясающие приложения. Это обширная 12-месячная программа, которая включает в себя работу над реальными проектами и заданиями, а также обучение 15 языкам программирования и инструментам. Наряду с этим, у него есть постоянная карьерная поддержка с фиктивными собеседованиями и помощью в трудоустройстве.

Получите работу своей мечты

ОБНОВЛЕНИЕ И ДИПЛОМ PG IIIT-BANGALORE В ПОЛНОМ СОСТАВЕ
Узнать больше