Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Шифрование


Cardinal ©   (2005-02-20 20:47:00) 

Вопрос по шифрованию строки без возможности расшифровки. Я просмотрел много факов - везде защифрованную строку можно расшифровать. Мне надо получить такую строку, чтобы ее нельзя было расшифровать (хэш). Конкретной функции нигде найти не могу. Хэлп!


Eraser   (2005-02-21 10:54:00) [1]

SammIk ©
Это исходит из вопроса->чтоб расшифровать нельзя.


Ну я так понимаю автор вопроса хотел сказать "Чтобы расшифровать нельзя было ТЕМ ЖЕ КЛЮЧОМ, ЧТО ЗАШИФРОВАТЬ" так? Или не так?


SammIk   (2005-02-21 07:06:00) [2]

2 [6]
Именно хеши его интересуют, а не опенкей.
Это исходит из вопроса->чтоб расшифровать нельзя.


Инк   (2005-02-21 02:50:00) [3]

Вот пример DLL бибилиотеки (Indy)
library crypt;

uses
 Windows,
 StdCtrls,
 SysUtils,
 Classes,
 IdHash,
 IdHashMessageDigest;

{$R *.res}
function md5(str:shortstring):shortstring;stdcall;
Var
 Digest: T4x4LongWordRecord;
 S,S1: String;
 i: Integer;
begin
 SetLength(S, 16);
     with TIdHashMessageDigest5.Create do begin
       Digest := HashValue(str);
       Move(Digest, S[1], 16);
       for i := 1 to Length(S) do begin
         S1 := S1 + Format('%02x', [Byte(S[i])]);
       end;
       while Pos(' ', S1) > 0 do S1[Pos(' ', S1)] := '0';
       Result:=s1;
       Free;
     end;
end;
exports md5;
begin
end.


Eraser   (2005-02-20 22:49:00) [4]

Cardinal ©
Мне надо получить такую строку, чтобы ее нельзя было расшифровать (хэш)


Я так понимаю тебя интересует алгоритмы шифрования с открытым ключом? RSA, DSA?
Или что?


Alex_Petr   (2005-02-20 22:00:00) [5]

Kolan ©   (20.02.05 21:52) [3]
>На нахрен она тебе нужна если ты её потом не расшифруешь?
Может он будет сравнивать результаты шифровки.


Alex_Petr   (2005-02-20 22:00:00) [6]

Kolan ©   (20.02.05 21:52) [3]
>На нахрен она тебе нужна если ты её потом не расшифруешь?
Может он будет сравнивать результаты шифровки.


Kolan   (2005-02-20 21:52:00) [7]


> Cardinal ©   (20.02.05 20:47)  

На нахрен она тебе нужна если ты её потом не расшифруешь?

> Конкретной функции нигде найти не могу


Подставляй вместо каждой буквы Random'ом буквы вот и получишь.

А если надо хеш. То вот ещё один:

while (*(StringToHash + I) != '\0')
 {
   Hash = (31 * Hash + *(StringToHash + I));
   I++;
 }
   return Hash;
 }


Alex_Petr   (2005-02-20 21:46:00) [8]

CryptCreateHash
CryptHashData                    
CryptDestroyHash


kaZaNoVa   (2005-02-20 21:36:00) [9]

MD5юзай


Наверх

Титульная страница Поиск, карта сайта Написать письмо