Урок 72 - Получение хеша файла
Иногда надо проследить, чтобы конечный пользователь не вмешивался в содержимое файла. Например
у вас есть программа работа которой напрямую зависит от содержания того или иного файла, пользователь может
случайно или намерено изменить файл, те самым вызвав в программе ошибку и получить секретную информацию.
Избежать этого нам поможет Хеш файла, это преобразование файла по специальному алгоритму, именуемым "Детерминированным алгоритмом".
Преобразовав файл мы получим его уникальный слепок или отпечаток, фиксированной длины, 32 символа. При
использовании файла можно проверять его хеш и хеш оригинала, если они совпадают то файл не был изменён и все будет работать нормально.
Приступим, добавим на форму 1 кнопку и 1 Label. Перед тем как писать код подключим в Uses модуль md5, его вы найдёте в конце статьи.
В событии OnClick у кнопки напишем код:
begin Label1.Caption:= MD5DigestToStr(MD5File('1.txt')); end;
Создадим файл 1.txt и напишем в него "123456789", положим его в папку с проектом и скомпилируем. Нажимаем кнопочку и в Label1 появляется вот такая строка: 25F9E794323B453885F5181F1B624D0B , запомним ее. Теперь допишем в файл еще "0" и опять нажмем кнопку, будет уже: E807F1FCF82D132F9BB018CA6738A19F, строки не совпадают.
E807F1FCF82D132F9BB018CA6738A19F
25F9E794323B453885F5181F1B624D0B
Если бы это был тот файл то программа заметила подмену и оповестила бы об этом.
Удачи!
Встретимся в следующем уроке!
Добавил(а): Vadim_Mir | Дата: 2018-01-15 | |
+
|