Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

Лидеры

  1. timbios

    timbios

    Owners


    • Баллы

      1

    • Постов

      595


  2. Семен

    Семен

    Пользователи


    • Баллы

      1

    • Постов

      326


Популярный контент

Показан контент с высокой репутацией 21.07.2020 во всех областях

  1. В этом уроке вы узнаете, как генерировать случайные пароли с помощью удобной функции PHP. Всегда лучше использовать случайно сгенерированный пароль, а не ваше имя, день рождения, город и т. Д. В настоящее время большинство регистрационных форм требуют, чтобы вы вводили безопасный пароль и показывали предупреждающее сообщение, если пароль слишком простой. Если вы создаете систему регистрации для своего PHP-проекта, будет полезно предложить пароль людям, которые регистрируются. Используя PHP, довольно просто сгенерировать случайный пароль. Используя функцию ниже, вы можете указать, какие символы должны содержать ваши пароли, какая длина пароля и сколько паролей вы хотите сгенерировать. Результатом будет массив с сгенерированными паролями. <?php function randomPassword($length,$count, $characters) { // $length - длина сгенерированного пароля // $count - количество генерируемых паролей // $characters - типы символов, которые будут использоваться в пароле // определяем переменные, используемые в функции $symbols = array(); $passwords = array(); $used_symbols = ''; $pass = ''; // массив разных типов символов $symbols["lower_case"] = 'abcdefghijklmnopqrstuvwxyz'; $symbols["upper_case"] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; $symbols["numbers"] = '1234567890'; $symbols["special_symbols"] = '!?~@#-_+<>[]{}'; $characters = split(",",$characters); // получитаем типы символов, которые будут использоваться для пароля foreach ($characters as $key=>$value) { $used_symbols .= $symbols[$value]; // строим строку со всеми символами } $symbols_length = strlen($used_symbols) - 1; //strlen начинается с 0, поэтому для получения количества символов вычитываем 1 for ($p = 0; $p < $count; $p++) { $pass = ''; for ($i = 0; $i < $length; $i++) { $n = rand(0, $symbols_length); // получить случайный символ из строки со всеми символами $pass .= $used_symbols[$n]; // добавляем символ в строку пароля } $passwords[] = $pass; } return $passwords; // возвращаем сгенерированный пароль } $my_passwords = randomPassword(10,1,"lower_case,upper_case,numbers,special_symbols"); print_r($my_passwords); ?> Вот несколько примеров, как генерировать разные случайные пароли с помощью PHP // создать один пароль, используя 5 символов верхнего и нижнего регистра randomPassword(5,1,"lower_case,upper_case"); // создать три пароля, используя 10 строчных букв и цифр randomPassword(10,3,"lower_case,numbers"); // создать пять паролей, используя 12 символов нижнего и верхнего регистра, цифры и специальные символы randomPassword(12,5,"lower_case,upper_case,numbers,special_symbols"); Надеюсь, этот урок был полезен для вас! Удачи в ваших проектах!
    1 балл
  2. Вот короче функция: /** * Генератор паролей * * @param int $length - длина сгенерированного пароля * @param string $chars - символы, которые будут использоваться в пароле * @return string */ function generatePassword(int $length = 8, string $chars = '') { if (empty($chars)) $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $count = mb_strlen($chars); $result = ''; for ($i = 0; $i < $length; $i++) { $index = rand(0, $count - 1); $result .= mb_substr($chars, $index, 1); } return $result; } Захешировать пароль: $hash = password_hash('123456', PASSWORD_DEFAULT); echo $hash; // $2y$10$hqpo2yrbT.82aQkqFiRkie1Y09lhkijK5DtnoBQHDxEBWo/junDR6 Если хотите сгенерировать строку для имени файла или URL-адреса: $permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyz'; echo substr(str_shuffle($permitted_chars), 0, 10);// Output: 54esmdr0qf
    1 балл
×
×
  • Создать...