Сохранение файла и его шифрование
|
|
teodelfix | Дата: Воскресенье, 29.04.2012, 23:15 | Сообщение # 1 |
Частый гость
Зарегистрирован: 25.04.2011
Группа: Пользователи
Сообщений: 25
Статус: Offline
| подскажите пожалуйста как можно сохранить файл с текстовой информацией в расширении ".tl"(например) но так что бы через блокнот его нельзя было прочитать? и еще... я в интернете читал по поводу шифрования и дешифрования... и у меня встал вопрос: а другой программист сможет пользуясь тем же уроком создать дешифровщик к моему файлу?
Сообщение отредактировал teodelfix - Понедельник, 30.04.2012, 01:56 |
|
| |
Don_Diego | Дата: Понедельник, 30.04.2012, 09:14 | Сообщение # 2 |
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
| Самый простой и самый примитивный способ шифрования - это смещение символов по ASCII-таблице. Вот пример:
Code var Str_Symbols: Array[0..MAX_PATH] Of Integer; // сюда будем сохранять зашифрованные данные i: Integer; const KeyCrypt = 43; // это наш ключ шифрования
procedure Crypt; begin for i:=1 to Length(Edit1.Text) do Str_Symbols[i]:=Ord(Edit1.Text[i]) + KeyCrypt; end;
Все, теперь мы имеем набор чисел в массиве и можем делать с ними что хотим. Чтобы расшифровать, смещаем все в обратном порядке вот таким способом:
Code Edit1.Text:=Edit1.Text + Char(Str_Symbols[i]-KeyCrypt); // эту строчку лучше поместить в цикл
Если же хотите чтобы при сохранении в файл был не набор цифр и чисел, а непонятные иероглифы, тогда нужно перевести его в ASCII-код без расшифровки, вот так:
Code Edit1.Text:=Edit1.Text + Char(Str_Symbols[i]);
А ключ... Ключ можете хранить где угодно - если в файле вместе с шифрованным текстом то его можно будет найти, если же передавать его устно - то расшифровать будет уже очень сложно.
|
|
| |
xXxSh@dowxXx | Дата: Понедельник, 30.04.2012, 09:51 | Сообщение # 3 |
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
| Don_Diego на самом деле все что связано с ASCII не так уж и трудно расшифровать, если даже ключ будет передаваться устно или его вобще не будет.., хотя если использовать не числительный ключ, тогда да, можно с ума сойти пока будешь его расшифровывать
Сообщение отредактировал xXxSh@dowxXx - Понедельник, 30.04.2012, 09:51 |
|
| |
Don_Diego | Дата: Понедельник, 30.04.2012, 10:18 | Сообщение # 4 |
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
| xXxSh@dowxXx, ну не скажи... Если усложнить формулу шифровки и не распространять программу-шифровщик то только случайность может помочь расшифровать. Мне однажды пришлось ломать такого рода кодировку, но у меня был под рукой сам шифровщик. На все про все у меня ушло пол часа, и формулу шифрования я вывел, там было что-то типа +1, -1, тоесть чередовалось через символ, а также спец. символы шифровались вообще отдельным набором символов.
|
|
| |
XSPY | Дата: Понедельник, 30.04.2012, 13:10 | Сообщение # 5 |
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
| teodelfix, я делал то,что вы просите подсказать. обычно сохраняешь с расширением своим,и шифруешь файл сохраняемый (либо до сохранения,либо после)... я шифровал ASCII+свой пароль (слова из песни+стихи).
|
|
| |
teodelfix | Дата: Суббота, 05.05.2012, 08:45 | Сообщение # 6 |
Частый гость
Зарегистрирован: 25.04.2011
Группа: Пользователи
Сообщений: 25
Статус: Offline
| Спасибо попробую))
|
|
| |