Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];




Вниз

Помогите пожалуйста! 


HDD   (2002-02-01 10:29) [0]

Люди кто-нибудь занет как зашифровать текст в RichEdit и расшифроать. Так какой-нибудь средненький алгоритм. И еще вопросик с кодировками Win, Dos с горем попалам разобрался,а как перевести текст в Iso, Koi8, Mac?
Заранее благодарен Кирилл!



Vitek   (2002-02-01 12:08) [1]

Могу прислать исходники программы для шифрования и дешифрования по алгоритму DES Если интересно отправь письмо mailto:Ishimov@newmail.ru



Фэ   (2002-02-01 12:34) [2]

Например таблица подстановки.
Таблицу составляешь случайным перемешиванием, реверсом..
Вход через table[ord(ch)] для байт-кодировок

Или через XOR-перемешивание

mask = "EЖV7V5G"#39"Ццv7"#20#39"VДЦFFVц";
function Decrypto(const str: string): string;
var n: integer;
begin
result := "";
for n:=1 to length(str) do
result:=result+
chr(ord(str[n]) xor ord(mask[((n-1) mod length(mask)) +1]));
end;

function Encrypto(const str: string): string;
begin
result:=Decrypto(str);
end;



Dimka Maslov   (2002-02-01 12:39) [3]

procedure EncodeStr(var Str: string; Key: string);
var
i, lp: Integer;
B: PByte;
begin
lp:=Length(Key);
B:=@Str[1];
Dec(B);
if lp<>0 then for i:=1 to Length(Str) do begin
Inc(B);
B^:=B^ xor Byte(Key[(i mod lp)+1]);
end;
end;


Расшифровывать той-же процедурой



HDD   (2002-02-01 13:24) [4]

А как всё это к RichEdit1 применить подскажите плиз!!!



Фэ   (2002-02-01 13:43) [5]

shifr := Crypto(rch.Lines.Text);
rch.Lines.Text := Decrypto(shifr);
Но могут проблемы из-за CR+LF возникнуть
Надо проверять



Vitek   (2002-02-01 14:03) [6]

Совет зашифрованный текст не выдавать в TRichEdit так как при шифровании могут появлятся например управляющие символы
Либо ограничивать алфавит шифротекста ну скажем только латинские буквы и цифры
Можно сделать так шифровать любым методом а дальше делать подстановку например
#0:aa
#1:ab
#2:ac
и тд



HDD   (2002-02-01 14:20) [7]

Косяк! Просто текст исчезает и всё и никаго шифра!



lnkd   (2002-02-01 16:01) [8]

А может попробовать предварительно сохранить текст в файл RichEdit1.Lines.SaveToFile(FileName). А потом открыть файл как file of byte и делай с ним что хочешь, кодируй по любому алгоритму. Ну и дешифровка соответственно наоборот.



Grim Rider   (2002-02-01 17:52) [9]

Попробуй вот это:


unit Crypt32;
{
*************************************************************************
* Name: Crypt32.Pas *
* Description: 32 bits encode/decode module *
* 2^96 variants it is very high to try hack *
* Purpose: Good for encrypting passwors and text *
* Security: avoid use StartKey less than 256 *
* if it use only for internal use you may use default *
* key, but MODIFY unit before compiling *
* Call: Encrypted := Encrypt(InString,StartKey,MultKey,AddKey) *
* Decrypted := Decrypt(InString,StartKey) *
* Parameters: InString = long string (max 2 GB) that need to encrypt *
* decrypt *
* MultKey = MultKey key *
* AddKey = Second key *
* StartKey = Third key *
* (posible use defaults from interface) *
* Return: OutString = result string *
* Editor: Besr viewed with Tab stops = 2, Courier new *
* Started: 01.08.1996 *
* Revision: 22.05.1997 - ver.2.01 converted from Delphi 1 *
* and made all keys as parameters, before only start key *
* Platform: Delphi 2.0, 3.0 *
* work in Delphi 1.0, 2^48 variants, 0..255 strings *
* Author: Anatoly Podgoretsky *
* Base alghoritm from Borland *
* Address: Vahe 4-31, Johvi, Estonia, EE2045, tel. 61-142 *
* kvk@estpak.ee *
* Status: Freeware, but any sponsor help will be appreciated here *
* need to buy books, shareware products, tools etc *
*************************************************************************
* Modified: Supports Delphi 1.0 & 2.0 *
* Overflow checking removed *
* By: Martin Djern



Anatoly Podgoretsky   (2002-02-02 14:36) [10]

HDD © (01.02.02 13:24)

А зачем это применять к RichEdit, с таким же успехом можешь использовать Random, RichEdit предназначен для визуализации данных.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.036 c
14-57213          Undert                2001-12-29 15:29  2002.02.18  
Windows XP


1-57153           ola                   2002-02-04 09:49  2002.02.18  
crazy query


1-57121           SKaR                  2002-02-02 17:50  2002.02.18  
Открытие файла и занесение его содержимого в массив.


1-57096           HDD                   2002-02-01 10:29  2002.02.18  
Помогите пожалуйста!


1-57055           Dim                   2002-02-04 13:21  2002.02.18  
Что такое TAddTeeFunction ?