Форум: "Основная";
Текущий архив: 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 предназначен для визуализации данных.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c