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

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

17.03.2009, 23:57. Показов 9586. Ответов 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru