У какого есть ккие соображения по поводу: Приложение-клиент получает файл от сервера и хранит его в TMemoryStream, что меня более чем устраивает. Теперь задача: сделать так, чтобы не было практически никаких возможностей спереть эту инфу из памяти куда-нить. На диск оно, естественнно, не записывается. Но, если я правильно понимаю, при достаточной степени мастерства и наличии хороших инструментов, утащить это дело из памяти будет несложно. Да, кстати, сожержимое файла — текст.
Здравствуйте, _Student_, Вы писали:
_S_>Теперь задача: сделать так, чтобы не было практически никаких возможностей спереть эту инфу из памяти куда-нить.
Здравствуйте, kavlad, Вы писали:
K>Здравствуйте, _Student_, Вы писали:
_S_>>Теперь задача: сделать так, чтобы не было практически никаких возможностей спереть эту инфу из памяти куда-нить.
K>Шифровать?
Боюсь, это не лучший выход из положения. Дело в том, что с этими данными производится постоянная выборка, сравнение и т.д. Типа, юзер ввел че-то, а я сравниваю с тем, что в файле. т.е. дешифровать все-равно придется...
Привет, _Student_!
Вы пишешь 05 мая 2005:
K>> Шифровать?
S> Боюсь, это не лучший выход из положения. Дело в том, что с этими данными производится постоянная выборка, сравнение и т.д. Типа, S> юзер ввел че-то, а я сравниваю с тем, что в файле. т.е. дешифровать все-равно придется...
Не обязательно дешифровать.
Можно рядышком с зашифрованными данными хранить хеш.
И сравнивать хеш в файле с тем, который получен по новым данным.
Здравствуйте, Alex.Che, Вы писали:
AC>Привет, _Student_! AC>Вы пишешь 05 мая 2005:
K>>> Шифровать?
S>> Боюсь, это не лучший выход из положения. Дело в том, что с этими данными производится постоянная выборка, сравнение и т.д. Типа, S>> юзер ввел че-то, а я сравниваю с тем, что в файле. т.е. дешифровать все-равно придется...
AC>Не обязательно дешифровать. AC>Можно рядышком с зашифрованными данными хранить хеш. AC>И сравнивать хеш в файле с тем, который получен по новым данным.
AC>-- AC>With best regards, Alex Cherednichenko.
Честно говоря, я не очень дружу с алгоритмами шифрования. Но если правильно понял, для одних и тех же данных шифрованный код будет одинаковым? или как? что такое хеш? Буду благодарен за пояснения.
Здравствуйте, _Student_, Вы писали:
_S_>Честно говоря, я не очень дружу с алгоритмами шифрования. Но если правильно понял, для одних и тех же данных шифрованный код будет одинаковым? или как? что такое хеш? Буду благодарен за пояснения.
Грубо говоря — хешь это результат шифрования
На твою строку применяется функция хеширования — на выходе получаешь другую строку или скажем число.
Здравствуйте, kavlad, Вы писали:
K>Здравствуйте, _Student_, Вы писали:
_S_>>Честно говоря, я не очень дружу с алгоритмами шифрования. Но если правильно понял, для одних и тех же данных шифрованный код будет одинаковым? или как? что такое хеш? Буду благодарен за пояснения.
K>Грубо говоря — хешь это результат шифрования K>На твою строку применяется функция хеширования — на выходе получаешь другую строку или скажем число.
Это я понимаю, так что, получается, что для строки "aabbcc" например, всегда будет одинаковый результат шифрования?
Привет, _Student_!
Вы пишешь 05 мая 2005:
S> Честно говоря, я не очень дружу с алгоритмами шифрования. S> Но если правильно понял, для одних и тех же данных шифрованный код будет одинаковым? или как?
Если ключ не менять и данные теже, то да.
Но сравнивать БЛОБы не очень удобно.
S> что такое хеш? Буду благодарен за пояснения.
Воспринимай его как некую "контрольную сумму".
Хеш-функция, независимо от размера входных данных,
даёт на выходе последовательность фиксированного (небольшого) размера.
Как получить хеш MD5, я писал в http://rsdn.ru/forum/?mid=1145470
Здравствуйте, _Student_, Вы писали:
_S_>Это я понимаю, так что, получается, что для строки "aabbcc" например, всегда будет одинаковый результат шифрования?
Здравствуйте, kavlad, Вы писали:
K>Здравствуйте, _Student_, Вы писали:
_S_>>Это я понимаю, так что, получается, что для строки "aabbcc" например, всегда будет одинаковый результат шифрования?
K>Да. Но есть свои проблемы.
Две похожие строки могут иметь одинаковый хеш. Как выбрать хорошую хеш-функцию? И еще масса проблем
Алгоритмы хеширования — это достаточно большая область для форума по делфи.
Привет, kavlad!
Вы пишешь 05 мая 2005:
AC>> Хочу посмотреть пример строк, которые приводят к коллизии для MD5.
k> Я где-нибудь хоть словом обмолвился про md5?
Да какая разница!
Задача хеширования — получение уникального "дайджеста".
В противном случае — это фикция.
k> P.S. Не факт, что хеширование вообще ему подойдет! k> Особенно, если данные закачиваются в память, а потом их надо отобразить на экране из памяти.
Я предложил хеширование не в качестве замены шифрования!
Но в дополнение к нему. Для определения того, нужно ли шифровать
новые данные, либо же, они идентичны сохранённым.
Шифрование — операция гораздо более ресурсоёмкая, по отношению к хешированию.
Кроме того, сравнение БЛОБов, тоже полновеснее, чем сравнение хешей.
Привет, Гай!
Вы пишешь 05 мая 2005:
k>>> Две похожие строки могут иметь одинаковый хеш.
Г> Две ПОХОЖИЕ строки НЕ МОГУТ иметь одинаковый хэш. В этом вся суть хеширования.
Hello, Гай!
You wrote on Thu, 05 May 2005 09:40:31 GMT:
>> From: Alex.Che >> Привет, kavlad! >> Вы пишешь 05 мая 2005:
k>>> Две похожие строки могут иметь одинаковый хеш.
Г> Две ПОХОЖИЕ строки НЕ МОГУТ иметь одинаковый хэш. В этом вся суть Г> хеширования.
Это не так. Вероятность совпадения хеша низка, но не более...
Ведь длина того же MD5 постоянна и не очень велика, а хеш можно считать как по любому слову, так и по роману "Война и мир" Толстого. Количество источников, по которым можно посчитать хеш значительно больше, чем вариантов значения хеша, сам подумай. Но на практике коллизии присходят крайне редко. Так что твои суждения оправданы, но лучше знать суровую правду жизни.
Хочешь иметь нулевую вероятность совпадения используй ZIP или RAR
Привет, Diouzshev!
Вы пишешь 05 мая 2005:
D> Но на практике коллизии присходят крайне редко. D> Так что твои суждения оправданы, но лучше знать суровую правду жизни.
Есть такое понятие "статистически гарантировано".
Вот от него и нужно танцевать.
А то "суровую правду жизни", пАнимаишь...
GUID пользовать не боишься?