Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/49: Рейтинг темы: голосов - 49, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 17.03.2009
Сообщений: 7

Шифрование паролей

17.03.2009, 23:57. Показов 9693. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть БД(InterBase), доступ к ней у разных пользователей. У каждого свой пароль. Пароли соответственно хранятся в той же БД. Тип их char(8), но как я понимаю, записаны они должны быть не явно в том виде, в котором их знает пользователь. Как их зашифровать, что бы хранить в БД?? Может, есть какая-то функция??

Спасибо.

Добавлено через 3 часа 51 минуту 54 секунды
Уже нашла.. На этом же форуме... (метод XOR..)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.03.2009, 23:57
Ответы с готовыми решениями:

Генератор паролей C++ Builder
Здравствуйте. Очень удивился, когда не нашел ни одного исходника генератора паролей на C++ Builder. Наверняка же многие делали хорошие...

Программка для подбирания паролей
Подскажите плиз как сделать програмку для подбирания паролей c на с++builder???

Простая генерация сложных паролей
Помогите скачал c++ bulder создал интерфейс. Теперь нужен сам код и как он работает... Напишите пожалуйста Цель программы : При...

12
109 / 95 / 9
Регистрация: 19.02.2009
Сообщений: 312
18.03.2009, 00:23
XOR - Это не серьезно
0
0 / 0 / 0
Регистрация: 17.03.2009
Сообщений: 7
18.03.2009, 08:33  [ТС]
А какой способ вы посоветуете??
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
18.03.2009, 10:44
хеширование MD5, обратно распаковать нельзя
1
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
18.03.2009, 10:48
oxotnik прав, надо использовать такие шифры, у которых нет обратной функции, так оно надежнее... а там алгоритмов уйма, погуглить осталось...
0
109 / 95 / 9
Регистрация: 19.02.2009
Сообщений: 312
18.03.2009, 12:26
Хэшируйте SHA-2. Тоесть, сохраняйте не сам пароль, а хэш от пароля. Это будет безопасно.

Ваши действия.

Запись пароля:

1. Придумать пароль P.
2. Вычислить хэш H = SHA2 (P)
3. Записать хэш H.

Проверка пароля.

1. Запросить пароль P1.
2. Вычислить хэш от H1 = SHA2 (P1).
3. Считать эталонный хэш H2.
4. Сравнить хэш H1 с эталонным H2. Если верны, пароль верен.

ВАЖНО. Для максимальной безопасности при вычислении хэшей используйте следующую схему:

Hash H; Password P;

H= Sha2(Sha2(Sha2(Sha2(P))));

Тоесть применяйте правило: хэш от хэша затрудняет реверсирование и вычисление с использованием коллизий.

Чем больше итераций H = Sha2 (H) тем лучше, это исключает реверсирование и делает невозможной атаку полным перебором. Из этого следует, чем больше время вычисления, чем больше этапов, тем лучше. Более того, все словари для dictionary attack (по словарю) строятся на базе ASCII слов и словосочитаний, на базе двоичных хэшей их строить невозможно (требуется непрактично больше кол-во памяти).

Здесь не обязательно использовать именно Sha2. В данной схеме подойдет и Sha1, и RipeMD128 / RipeMD256, и Haval256.

Можно взять из Sha3 zoo отличный хэш Skein или Keccak.

Исходник Keccak см. во вложении.
Вложения
Тип файла: rar KeccakReferenceAndOptimized.rar (19.7 Кб, 288 просмотров)
1
109 / 95 / 9
Регистрация: 19.02.2009
Сообщений: 312
18.03.2009, 12:28
Цитата Сообщение от oxotnik Посмотреть сообщение
хеширование MD5, обратно распаковать нельзя
Раундовая функция MD5 легко реверсируется, тут есть исключения.
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
18.03.2009, 14:00
Цитата Сообщение от alexanderwdark Посмотреть сообщение
Раундовая функция MD5 легко реверсируется, тут есть исключения.
Сдуру можно и х... сломать.
не думаю что разрабатываемая БД имеет такую ценность, дабы заморачиваться на этом.
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
18.03.2009, 14:11
Как варианты - DES, 3DES.

alexanderwdark,где можно почитать что-нибудь по этому поводу? Не думал,что это "легко"
1
0 / 0 / 0
Регистрация: 17.03.2009
Сообщений: 7
20.03.2009, 22:28  [ТС]
Спасибо большое всем за советы!!!.. Особенно, alexanderwdark за такое пояснение!!
БД, действительно не слишком ценная, что бы ставить очень мощную защиту на пароли, по этому пока остановилась на MD5. С SHA-2 пока не совсем разобралась, но буду разбираться: думаю, стоит.
Про DES, 3DES слышу впервые..
0
109 / 95 / 9
Регистрация: 19.02.2009
Сообщений: 312
21.03.2009, 00:03
Цитата Сообщение от Atilla Посмотреть сообщение
Спасибо большое всем за советы!!!.. Особенно, alexanderwdark за такое пояснение!!
БД, действительно не слишком ценная, что бы ставить очень мощную защиту на пароли, по этому пока остановилась на MD5. С SHA-2 пока не совсем разобралась, но буду разбираться: думаю, стоит.
Про DES, 3DES слышу впервые..
DES и 3DES - обратимое шифрование (Сеть Фейстеля), поэтому в нашем случае неприменимо. Здесь нужна необратимая ф-ция по причине защиты от восстановления исходного и подмены поролей.

DES - бывший стандарт шифрования в США, морально устарел по причине небольшого ключа (56 бит, которые довольно быстро ломаются перебором)

3DES - довольно сильный вариант, но в 3 раза медленнее. По-сути, тот же DES, применяемый три раза с разными ключами. DES на зашифровку, DES на расшифровку и опять на шифровку. Соответственно, эффект. ключ больше в три раза за минусом несколько бит - особенностей схемы.

Относительно SHA-2 для вас разница только в длине хэша.

Добавлено через 7 минут 13 секунд
Цитата Сообщение от XuTPbIu_MuHTAu Посмотреть сообщение
Как варианты - DES, 3DES.

alexanderwdark,где можно почитать что-нибудь по этому поводу? Не думал,что это "легко"
MD5 основан на обратимых преобразованиях:

C
1
2
3
4
5
#define FF(a, b, c, d, x, s, ac) \
  {(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
   (a) = _lrotl ((a), (s)); \
   (a) += (b); \
  }
C
1
2
3
4
5
#define RestoreFF(a, b, c, d, x, s, ac) \
  {(a)-=(b);\
   (a) = _lrotr((a), (s)); \
   (a)-= F ((b), (c), (d)) + (x) + (UINT4)(ac);\
  }
Это, втч., и позволило китайцам найти уязвимости и способы подмены сообщений.
1
0 / 0 / 0
Регистрация: 17.03.2009
Сообщений: 7
24.03.2009, 23:59  [ТС]
всем спасибо!! разобралась!.. оказалось, достаточно просто!..
0
8 / 8 / 2
Регистрация: 20.02.2009
Сообщений: 139
08.08.2011, 15:08
Присоединяюсь, спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.08.2011, 15:08
Помогаю со студенческими работами здесь

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

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

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

Шифрование паролей
Храню пароли с помощью QSettings. Хочу хранить пароль в зашифрованном виде. Как можно реализовать не изобретая свой велосипедный шифр....

Шифрование паролей в БД
Помогите сделать что бы при регистрации, пароли шифровались в md5 версия php ниже 5.6 Вот код регистрации: <?PHP #...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru