Russian Qt Forum
Апрель 29, 2024, 10:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Функция генерации пароля  (Прочитано 7328 раз)
thechicho
Гость
« : Октябрь 06, 2011, 17:40 »

подскажите, плиз, функцию для генерации пароля.
чтобы можно было задать длину (фиксированную, или от-до)
и набор символов (asdfzxcv53242hkj@!!!##$$@#@!)
Записан
thechicho
Гость
« Ответ #1 : Октябрь 06, 2011, 18:17 »

вот мой велик:

Код
C++ (Qt)
QString Widget::passwordRand(qint64 min, qint64 max)
{
   QString chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
   qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
   QString password;
   qint64 amount = mt_rand(min, max);
   for (int i = 0; i < amount; i++) {
       int num = qrand() % chars.size();
       password += chars.at(num);
   }
   return password;
}
 
qint64 Widget::mt_rand(qint64 a, qint64 b)
{
   qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
   return qrand()%(b-a+1)+a;
}

зацените и подскажите как можно сделать лучше.
особенно
Код
C++ (Qt)
[b]qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));[/b]
есть альтернатива?!
Записан
thechicho
Гость
« Ответ #2 : Октябрь 06, 2011, 18:25 »

fuck yeah
Код
C++ (Qt)
qsrand(QDateTime::currentMSecsSinceEpoch());
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #3 : Октябрь 06, 2011, 19:33 »

можно считать какой-нить хэш от логина
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
thechicho
Гость
« Ответ #4 : Октябрь 06, 2011, 21:44 »

код, плз
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #5 : Октябрь 06, 2011, 21:54 »

Код
C++ (Qt)
QByteArray md5Hash = QCryptographicHash::hash("some_login", QCryptographicHash::Md5);
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #6 : Октябрь 07, 2011, 09:22 »

kambala, т.е. если кто-то просечёт алгоритм генерации пароля (а MD5 хеш довольно узнаваем), то он сможет от любого логина получить пароль? Гениально!
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Октябрь 07, 2011, 09:27 »

Заксорь результат, прогони через еще парочку хэшей. Что сложного-то?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #8 : Октябрь 07, 2011, 10:11 »

Заксорь результат, прогони через еще парочку хэшей. Что сложного-то?
Как говорится: сокрытие алгоритма - не есть безопасность. Подмигивающий
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #9 : Октябрь 07, 2011, 10:12 »

Ну, ломается все. Улыбающийся В основном, хватает обычного паяльника.  Смеющийся
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Rem Norton
Гость
« Ответ #10 : Октябрь 07, 2011, 13:34 »

blowfish уже не рулит? Если что, в аттаче реализация.
Записан
thechicho
Гость
« Ответ #11 : Октябрь 07, 2011, 20:04 »

сенкс, ток уже велик изобретен, смысла чот левое присоединять нет Улыбающийся
Записан
Странник
Гость
« Ответ #12 : Октябрь 07, 2011, 22:31 »

blowfish уже не рулит? Если что, в аттаче реализация.
а вот я притырил, благодарствую)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.218 секунд. Запросов: 22.