Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Вниз
Шифрование. Найти похожие ветки
← →
Gear (2005-05-19 21:46) [0]Подскажите пожалуйста, делаю шифрование строки "123 " расшифровываю полученный массив байтов и получаю "49 50 51 32 32 32 32 32"
в чём это я всё получил? в asci кодах или как? вижу что шифрование-дешифрование прошло но голова уже не в состоянии понять что я вижу на выходе :) Зарание спасибо всем откликнувшимся.
← →
Reindeer Moss Eater © (2005-05-19 21:54) [1]в чём это я всё получил?
В программе.
← →
raidan © (2005-05-19 23:44) [2]>Reindeer Moss Eater © (19.05.05 21:54) [1]
Не нужно так шутить, а то я помру от смеха :)
>Gear (19.05.05 21:46)
Шифрование :))))
Муууууу :))))
ну если у нас chr и ord теперь называется шифрованием, то на выходе получаем ascii коды, да...
← →
Defunct © (2005-05-19 23:57) [3]Gear (19.05.05 21:46)
Ну и? все ты правильно получил.
Chr(32) = " "
Chr(49) = "1"
В чем же проблема?
raidan © (19.05.05 23:44) [2]
Он же написал - "расшифровываю полученный массив байтов и получаю"
← →
Gear (2005-05-20 15:01) [4]Проблема в конце рабочего дня и голодном желудке. :) я разобрался. спасибо кто откликнулся )
А теперь новый вопрос: ))
шифрую строку 123 и получаю hex-строку и вывожу её в мемо
-----------------------------
шифрование:
в едит пишем "123"
var
s: Pchar;
str:string;
i: integer;
dta: array of byte;
m:integer;
begin
str:=Edit1.Text;
m:=length(str) mod 8;
if m<>0 then
begin
for j:=1 to 8-m do
begin
str:=str+" ";
end;
end;
s:=Pchar(str);
dta:=nil;
SetLength(dta, length(s));
for i:=1 to (length(s) div 8) do
begin
// функция шифрования
end;
for i:=0 to length(s)-1 do
memo1.Text:=memo1.Text+IntToHex(dta[i],2);
на выходе получаем в мемо строчку "FFE7F0ECDC6B93E3"
-------------
теперь самое страшное -дешифровка:
var
s: Pchar;
str:Pchar;
i,j: integer;
KeyData: TGOSTData;
dta1: array of byte;
dta2: array of byte;
m:integer;
sst:string;
hexstring:string;
begin
str:=pchar(memo1.Text);
dta1:=nil;
dta2:=nil;
SetLength(dta1, 8);
for i:=1 to 8 do begin
if (i mod 2)=0 then begin end else
begin
dta1[i-1]:=hextoint(str[i-1]+str[i]);
end;
end;
{
SetLength(dta1, 8);
//SetLength(dta2, 8);
dta1[0]:=255;
dta1[1]:=231;
dta1[2]:=240;
dta1[3]:=236;
dta1[4]:=220;
dta1[5]:=107;
dta1[6]:=147;
dta1[7]:=227;
}
for i:=1 to (length(dta1) div 8) do
begin
SetLength(dta2, length(dta2)+8);
//дешифруем
end;
for i:=0 to length(dta2)-1 do
memo2.Text:=memo2.Text+chr(dta2[i]);
и не работает (в мемо сыпеть всяк хрень а не 123), но что самое удивительное если раскомментить, то что в {} и убрать блок чуть выше, то работает и выдаёт в мемо "123 ". Кто подскажет где у меня не так заполняется массив байт? (функции и всяк лабуду отвечающую за шифровку дешифровку убрал чтобы не смущать).
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.076 c