Реализация UNIX'овского Crypt на Delphi?
От: Firstborn Латвия  
Дата: 26.03.05 21:26
Оценка:
Никак не могу найти сабж. Нужна бесплатная реализация UNIX'овского алгоритма Crypt, используемого для шифрования паролей. Может, кто-то видал такое чудо в природе? Буду благодарен за инфу!

P.S. На www.torry.net и в www.google.com искал, но не нашёл. Может у этого алгоритма ещё какое-то название есть?..
Re: Реализация UNIX'овского Crypt на Delphi?
От: Гай Россия  
Дата: 27.03.05 08:22
Оценка:
> From: Firstborn 
> Никак не могу найти сабж. Нужна бесплатная реализация UNIX'овского
> алгоритма Crypt, используемого для шифрования паролей. Может, кто-то видал
> такое чудо в природе? Буду благодарен за инфу!

> P.S. На www.torry.net и в www.google.com искал, но не нашёл. Может у этого

> алгоритма ещё какое-то название есть?..

А есть необходимость в реализации именно этого алгоритма, или нужно просто
шифрование паролей? А то ведь ещё есть CryptoAPI и CAPICOM, как бы тоже неплохие
вещи
Posted via RSDN NNTP Server 1.9
Re[2]: Реализация UNIX'овского Crypt на Delphi?
От: Firstborn Латвия  
Дата: 27.03.05 09:55
Оценка:
Здравствуйте, Гай, Вы писали:

Гай>А есть необходимость в реализации именно этого алгоритма, или нужно просто

Гай>шифрование паролей? А то ведь ещё есть CryptoAPI и CAPICOM, как бы тоже неплохие
Гай>вещи

Вообще говоря подойдёт любая one-way функция, совсем необязательно точно такая же как у UNIX, просто надо было от чего-то оттолкнуться.
Re[3]: Реализация UNIX'овского Crypt на Delphi?
От: Гай Россия  
Дата: 27.03.05 10:09
Оценка:
> Вообще говоря подойдёт любая one-way функция, совсем необязательно точно
> такая же как у UNIX, просто надо было от чего-то оттолкнуться.

Если односторонний, то это хэш.

var
hProv: HCRYPTPROV;
hHash: HCRYPTHASH;
dwLen, dwTmp: DWORD;
HashArray: array[0..31] of char; // Длина массива, чтоб хэш влезал
begin
CryptAcquireContext(@hProv, '', '', <Идентификатор криптопровайдера, я работаю
с ГОСТОМ через КриптоПро, поэтому стоит 75, ты вебери свой>, CRYPT_VERIFYCONTEXT);
CryptCreateHash(hProv, <идентификатор хеширующего алгоритма>, 0, 0, @hHash);
CryptHashData(hHash, @(Data[1]), Length(Data), 0);
dwTmp := sizeof(dwLen);
CryptGetHashParam(hHash, HP_HASHSIZE, @dwLen, @dwTmp, 0);
CryptGetHashParam(hHash, HP_HASHVAL, @HashArray, @dwLen, 0);
CryptDestroyHash(hHash);
CryptReleaseContext(hProv, 0);
end;

После отработки в HashArray — хэш, посчитанный из Data, его и используй для
сверки пароля. Прототипы функций есть в модуле WinCrypt.pas, там же
идентификаторы стандартных провайдеров и алгоритмов, могу выслать.
Posted via RSDN NNTP Server 1.9
Re: Реализация UNIX'овского Crypt на Delphi?
От: DaHa Украина http://www.dahasystem.narod.ru
Дата: 28.03.05 10:01
Оценка:
Здравствуйте, Firstborn, Вы писали:

F>Никак не могу найти сабж. Нужна бесплатная реализация UNIX'овского алгоритма Crypt, используемого для шифрования паролей. Может, кто-то видал такое чудо в природе? Буду благодарен за инфу!


F>P.S. На www.torry.net и в www.google.com искал, но не нашёл. Может у этого алгоритма ещё какое-то название есть?..


Вообще-то там обычный DES алгоритм только хитрая схема: двойная. Можно поискать на DES, но лучше уже брать DESX, если я не ощибаюсь, а то обычный DES слишком прост.
Re[3]: Реализация UNIX'овского Crypt на Delphi?
От: alive Россия  
Дата: 29.03.05 03:46
Оценка:
Здравствуйте, Firstborn, Вы писали:

F>Вообще говоря подойдёт любая one-way функция, совсем необязательно точно такая же как у UNIX, просто надо было от чего-то оттолкнуться.


Посмотри HashLib! здесь
... << RSDN@Home 1.1.4 beta 4 rev 360 >> <<silent>>
Keep yourself alive
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.