Страница 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, 
появились хитропопные юзеры которые стали вносить изменения в текстовый пакет.
Пришлось добавить в пакет его хеш и отказывать в загрузке модифицированных пакетов.  
