• Инструменты для разработчика

    • Самые удобные инстременты для разработчика, которые облегчат жизнь любого как начинающего так и продвинутого разработчика. Украшатели, уменьшители, конвертеры кодов. Доменные инструменты. Всё в одном комплекте.
  • Использование BB кодов. Тут указаны существующие BB коды на форуме.

Delphi Получение хэша файла

  • Автор темы Rusik123
  • Дата создания
  • Ответов 0
  • Просмотров 939

Rusik123

Пользователь
Регистрация
27.02.2016
Сообщения
189
Репутация
18
Баллы
0
Награды
0
Лучшие ответы
0
Иногда надо проследить, чтобы конечный пользователь не вмешивался в содержимое файла. Например у вас есть программа работа которой напрямую зависит от содержания того или иного файла, пользователь может случайно или намерено изменить файл, те самым вызвав в программе ошибку и получить секретную информацию. Избежать этого нам поможет Хеш файла, это преобразование файла по специальному алгоритму, именуемым "Детерминированным алгоритмом". Преобразовав файл мы получим его уникальный слепок или отпечаток, фиксированной длины, 32 символа. При использовании файла можно проверять его хеш и хеш оригинала, если они совпадают то файл не был изменён и все будет работать нормально.

Приступим, добавим на форму 1 кнопку и 1 Label. Перед тем как писать код подключим в Uses модуль md5, его вы найдёте в конце статьи.
В событии OnClick у кнопки напишем код:
PHP:
Пожалуйста, Войти или Регистрация для просмотра содержания кодов!
Создадим файл 1.txt и напишем в него "123456789", положим его в папку с проектом и скомпилируем. Нажимаем кнопочку и в Label1 появляется вот такая строка: 25F9E794323B453885F5181F1B624D0B , запомним ее. Теперь допишем в файл еще "0" и опять нажмем кнопку, будет уже: E807F1FCF82D132F9BB018CA6738A19F, строки не совпадают.
E807F1FCF82D132F9BB018CA6738A19F
25F9E794323B453885F5181F1B624D0B

Если бы это был тот файл то программа заметила подмену и оповестила бы об этом.
Удачи!




Rusik активный пользователь:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Запомни эту фразу все будет,но не сразу.
 
  • Мне нравиться
Реакции: Rovi
Сверху Снизу