Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
4 / 4 / 3
Регистрация: 26.05.2014
Сообщений: 354

Генератор паролей

21.01.2019, 00:21. Показов 1426. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача такая: 4-х значный пароль должен состоять только из цифр от 0 до 9. Сгенерировать список всевозможных комбинаций без повторений.

Нашел в сети вот такой скрипт. Здесь не только комбинации могут повторяться, так еще могут некоторые комбинации вообще отсутствовать.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
 
  function generatePassword ($length = 4)
  {
// Запуск с пустым паролем
    $password = "";
// Определить возможные символы – в этой строке может быть любой символ из списка возможных
 
// Символы, выбранные для использования в пароле, если вы хотите, можете включить в них и гласные
// Можете добавить также специальные символы, например, восклицательный знак
// Для всего перечисленного нужно поменять значение этой переменной
    $possible = "1234567890";
// Переменная $ possible используется несколько раз в контексте длины, а объявлена она здесь
    $maxlength = strlen($possible);
// Проверка на превышение длины и обрезание, если это необходимо
    if ($length > $maxlength) {
      $length = $maxlength;
    }
// Установка счетчика для количества символов, присутствующих в пароле
    $i = 0; 
// Добавить случайные символы в переменную пароля, пока не будет достигнута максимальная длина
    while ($i < $length) { 
// Выбрать случайный символ из возможных
      $char = substr($possible, mt_rand(0, $maxlength-1), 1);
// Проверка, не был ли ранее использован этот символ
      if (!strstr($password, $char)) { 
// Если нет, то добавить его в конец уже полученного набора символов
        $password .= $char;
//Увеличить счетчик на единицу
        $i++;
      }
    }
// Готово!
    return $password;
  }
 
  
  $file = 'pass.txt';
// Открываем файл для получения существующего содержимого
$current = file_get_contents($file);
// Добавляем нового человека в файл
for ($i=0; $i<10000; $i++) {
    
    $current .= generatePassword()."\r\n";
  }
// Пишем содержимое обратно в файл
file_put_contents($file, $current);
echo 'done!';
Где здесь ошибка?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2019, 00:21
Ответы с готовыми решениями:

Генератор паролей
Мне нужно расшивровать пароль : Содержание пароля : Первые 2 цифры - идут последовательно ( в пределах 7-0 на клаве ) Например...

Генератор паролей
Здравствуйте, задали разместить на сайте Генератор случайных паролей. Пользователь указывает в текстовом поле длину желаемого пароля и...

Шифрование паролей.
Несколько раз прочел мануал по sha1() и не понял как её применить в моем коде: &lt;?php $name = $_POST; $pass = $_POST; ...

3
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
21.01.2019, 00:42
lev_,
Цитата Сообщение от lev_ Посмотреть сообщение
Задача такая: 4-х значный пароль должен состоять только из цифр от 0 до 9. Сгенерировать список всевозможных комбинаций без повторений.
Мне кажется, что задание звучит по-другому, ибо с такой формулировкой все делается просто:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$arr = [];
for($i=0; $i<=9999; $i++){
    $a = strlen($i);
    switch($a){
        case 1: $i = '000' . $i; break;
        case 2: $i = '00' . $i; break;
        case 3: $i = '0' . $i; break;
    }
    $arr[]=$i;
}
 
print_r($arr);
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
21.01.2019, 00:50
Цитата Сообщение от Пифагор Посмотреть сообщение
все делается просто
Или даже так:
PHP
1
2
3
4
5
6
<?php
$arr = [];
for($i=0; $i < 10000; $i++){
    $arr[] = str_pad ($i,4,'0', STR_PAD_LEFT);
}
print_r($arr);
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
21.01.2019, 00:55
Lazy_Den, или так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.01.2019, 00:55
Помогаю со студенческими работами здесь

шифрование паролей
Доброе утро! подскажите, пожалуйста, как можно зашифровывать данные (в частности пароли) на тот случай, если на сервере модуль mcrypt не...

Шифрование паролей
if ($password не была зашифрована ) { $pass = md5($password); //шифруем и отправляем в БД } else if($password была зашифрована ) ...

Валидация паролей
Нужна помощь. У меня есть два поля &quot;пароль&quot; и &quot;повторить пароль&quot; при регистрации . Нужна формула как сверить пароли . на примере...

Шифрование паролей
Доброе время суток коллеги, есть такая проблема в коде : -Warning: Use of undefined constant password_default - assumed...

Генерация паролей
Здравствуйте, есть код: &lt;form method=&quot;post&quot;&gt; &lt;input type=&quot;text&quot; name=&quot;number&quot; value=&quot;10&quot;&gt; &lt;input type=&quot;submit&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru