Воскресенье, 22.12.2024, 11:54 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
Сохранение файла и его шифрование
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 не так уж и трудно расшифровать, если даже ключ будет передаваться устно или его вобще не будет.., хотя если использовать не числительный ключ, тогда да, можно с ума сойти пока будешь его расшифровывать biggrin

Сообщение отредактировал 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
Спасибо попробую))
 
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz