Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.06;
Скачать: CL | DM;

Вниз

Шифрование.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.04 c
14-1116617554
Sergey Masloff
2005-05-20 23:32
2005.06.06
Я в отпуске. Даже не верится... Отгуливаю за 2002 г. ;-)


14-1116406011
Андрей Жук
2005-05-18 12:46
2005.06.06
Никто не работал с wxWidgets?


14-1116400799
DelphiN!
2005-05-18 11:19
2005.06.06
Отправка служебных комманд на чековый принтер Samsung SRP350


8-1108800982
Rustam
2005-02-19 11:16
2005.06.06
вставка теста в графику(image)


4-1113414663
Flutter
2005-04-13 21:51
2005.06.06
Windows shell