Автор Гілка: Генератор паролів  (Прочитано 2736 раз)

Відсутній coirius

  • Кореспондент
  • ***
  • дописів: 175
  • Карма: +0/-0
  • ArchLinux
Генератор паролів
« : 2010-06-13 00:22:46 »
Вітаю. Ось зайнявся вивченням мови програмування С, та й для досвіду хотів написати програму, яка виводить рандомне число. Ця програма швидко переросла в генератор паролів.
Спочатку я хотів використовувати функцію стандартної бібліотеки rand(), але потім прикрутив сюди алгоритм "Mersenne twister". Все начебто супер, але є одна проблема: потрібні числа не генеруються рандомно, тобто є певна послідовність генерації ...
Може глянете своїм експертським оком на мою маленьку програмку:
http://github.com/coirius/pgix http://share.coirius.com/projects/pgix/pgix-0.2.1-src.tar.bz2
Дякую.

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: Генератор паролів
« Відповідей #1 : 2010-06-13 02:12:59 »
Треба ініціалізувати seed.  Подивіться приклад тут
http://www.cplusplus.com/reference/clibrary/cstdlib/rand/
Best regards,
nickat

Відсутній coirius

  • Кореспондент
  • ***
  • дописів: 175
  • Карма: +0/-0
  • ArchLinux
Re: Генератор паролів
« Відповідей #2 : 2010-06-13 12:22:38 »
Дякую за допомогу, тепер воно генерує випадкові числа, але є ще одна проблема - ці всі числа повністю ідентичні. тобто генеруються паролі які містять один і той самий символ. Як цю проблему вирішити?

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: Генератор паролів
« Відповідей #3 : 2010-06-13 14:55:53 »
Це вже виглядає як баг у логіці вашої програми.  Тут GDB -- ваш найкращій друг і помічник.
http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html
http://www.gnu.org/software/gdb/documentation/
http://www.gnu.org/software/ddd/
« Змінено: 2010-06-13 15:14:00 від nickat »
Best regards,
nickat