Страница 1 из 2
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 10:51
ingasoftplus
Нужно что-то типа хеша, не понятно, что использовать.
Идея такая, есть текстовые строки - и для них нужно создать что-то типа уникального "хеша", чтобы потом можно было однозначно найти соответствие оригинальной строки и созданного "хеша"
ну и длина этого "хеша" должна быть значительно меньше оригинальной строки (потом оно будет сохраняться в очередь, чтобы занимало меньше памяти)
Какие есть решения? в какую сторону копать/смотреть??
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 12:01
Дед Пахом
ingasoftplus писал(а): 26 Сентябрь 2023, 10:51
в какую сторону копать/смотреть??
Я в google посмотрел, полно вариантов.
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 13:04
Игорь Столяров
ingasoftplus писал(а): 26 Сентябрь 2023, 10:51
Какие есть решения? в какую сторону копать/смотреть??
А чем традиционные библиотеки хеша SHA1 или MD5 не устраивают ?
Недавно прикручивали:
viewtopic.php?p=50395&hilit=sha1#p50395
Если хочется порукодельничать - то есть вот такой вариант:
https://pisoft.ru/verstak/kripto.htm
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 13:13
ingasoftplus
Игорь Столяров писал(а): 26 Сентябрь 2023, 13:04
А чем традиционные библиотеки хеша SHA1 или MD5 не устраивают
наверное - устраивают!! никогда не имел с этим дело, вот и спрашиваю - как!
будем смотреть!!!

Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 13:20
Игорь Столяров
Сложно представить работу без хеша , как средства защиты и обеспечения целостности данных.
Например, сейчас уже никто не хранит пароли доступа, которые мона украсть взломав БД или программу.
Вместо этого в открытом виде хранится хеш, который сравнивается с хешем рассчитанным по вводимому пользователем паролю и т.д.
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 13:30
finsoftrz
А как же зашифрованный tps? Если взломать программу, то ничто не спасёт. У меня шифры от базы данных хранятся в других зашифрованых файлах, которые могут быть далеко от самой базы данных.

Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 13:39
Игорь Столяров
В зашифрованном TPS хранятся секретные данные и есть вопрос верификации доступа.
Т.е. так или иначе Вы в какой-то момент в программе (которая может работать под отладчиком)
засветите этот самый хранимый в надёжном месте пароль для открытия зашифрованного TPS списка.
А я говорил о хранении хеша вместо пароля доступа вводимого пользователем (в т.ч. и для расшифрования БД).
В этом случае ничего прятать и оберегать не надо, алгоритм расчёта хеша известен. И ничего низя украсть.

Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 14:10
finsoftrz
Программа не может работать под отладчиком. Защита это всегда комплекс мер.
Если мы знаем значения хэша и алгоритм его формирования, то не можем узнать исходное значение пароля? Не задавался этим вопросом. Если так, что мешает подобрать пароль перебором, если все под рукой и некуда спешить? У Вас пароли тоже в виде хэша хранятся?
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 14:18
Игорь Столяров
finsoftrz писал(а): 26 Сентябрь 2023, 14:10
сли мы знаем значения хэша и алгоритм его формирования, то не можем узнать исходное значение пароля?
В обозримом временном интервале или без квантового компьютера - нет, не можем.
finsoftrz писал(а): 26 Сентябрь 2023, 14:10
если все под рукой и некуда спешить?
Гипотетически можно, но не спешить придётся миллионы лет ...
Принцип тот же самый, что и в случае ЭЦП подтверждающей валидность исходного текста.
Любой может рассчитать ЭЦП и удостоверится в подлинности текста.
Только в случае с паролем у нас нет самого текста - пароль пользователь вводит в сессии.
finsoftrz писал(а): 26 Сентябрь 2023, 14:10
У Вас пароли тоже в виде хэша хранятся?
В новых проектах конечно. И не нужны никакие шифрования и пряталки паролей.

Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 14:20
ingasoftplus
finsoftrz писал(а): 26 Сентябрь 2023, 14:10
пароли тоже в виде хэша хранятся
ну вообще-то пароли надо хранить в виде хеш(соль+пароль)
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 14:46
finsoftrz
Игорь Столяров писал(а): 26 Сентябрь 2023, 14:18
finsoftrz писал(а): 26 Сентябрь 2023, 14:10
если все под рукой и некуда спешить?
Гипотетически можно, но не спешить придётся миллионы лет ...
Что-то меня гложат смутные сомнения насчет этой теории. Чтобы увеличить время, необходимое для подбора пароля, надо создавать очень сложный пароль, который пользователь опухнет вводить. В вебе пароли обычно сохраняет веб броуз, пользователи их не вводят. А это означает, что либо пароли хранятся не в виде хэша, либо есть алгоритмы обратного получения. Или у меня что-то с логикой не так?
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 14:49
finsoftrz
Сейчас специально посмотрел вход в кабинет spweb и робокассы. Выбираю сохраненные броузом значения, показывает исходное значение пароля.
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 15:07
Игорь Столяров
finsoftrz писал(а): 26 Сентябрь 2023, 14:46
Что-то меня гложат смутные сомнения насчет этой теории
Здесь иное ... если у Вас есть хеш пароля - то подобрать некую строку (и это не обязательно оригинальный пароль),
которая на входе в систему выдаст такой же хеш - очень ресурсоёмко. Это азы криптографии, есть много книжек.
finsoftrz писал(а): 26 Сентябрь 2023, 14:49
Выбираю сохраненные броузом значения
Это просто броузер хранит (в защищённом хранилище) текстовые строки пар логин/пароль.
Но в БД указанных Вами систем наверняка хранятся не пароли, а их хеш.
Кстати, именно поэтому нельзя пароли посмотреть и изменить, а можно только заменить.

Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 16:18
finsoftrz
"Защищенное хранилище" это шифрованная база данных броуза?

Я понял, хэш нужен для того, чтобы усложнить слив базы данных сотрудниками хостера. Хотя опять таки, не поверю, что сотрудники хостера не могут получить доступ к данным пользователя в обход пароля.
Мне кажется, все это из серии бесконечной гонки по безопасности в вебе. Решения нет по определению, зато можно зарабатывать на взломах и защитах.
Что использовать - хеш?
Добавлено: 26 Сентябрь 2023, 18:22
Игорь Столяров
Могу привести ещё пример использования хеша (как бюджетного варианта ЭЦП).
После перевода обмена пакетами в торговой системе на открытый формат JSON,
появились хитропопные юзеры которые стали вносить изменения в текстовый пакет.
Пришлось добавить в пакет его хеш и отказывать в загрузке модифицированных пакетов.
