Здравствуйте
На днях потребовалось реализовать алгоритм Md5 и Base64 на Delphi 7.
Примеров в инетах море, но я наткнулся на довольно интересный момент:
все требуемое уже имеется в Delphi (я использую версию 7, так что возможны различия с другими версиями)
Итак приступим:
Md5
Для возможности работы с алгоритмом md5 в пакете indy присутствует модуль IdHashMessageDigest (для поддержки необходимо добавить в секцию uses)
Открываем файл IdHashMessageDigest.pas - путь по умолчанию - c:\Program Files\Borland\Delphi7\Source\Indy
И вот что мы видим:
Implementation of the MD2, MD4 and MD5 Message-Digest Algorithm
as specified in RFC 1319 (1115), 1320 (1186), 1321
(See NOTE below for details of what is exactly implemented)
Author: Pete Mee
Port to Indy 8.1 Doychin Bondzhev (doychin@dsoft-bg.com)
Copyright: (c) Chad Z. Hower and The Winshoes Working Group.
NOTE:
All MDx are ready and bug free.
Ну и собственно пример использования:
function md5(s: string): string;
begin
Result := '';
with TIdHashMessageDigest5.Create do
try
Result := AnsiLowerCase(AsHex(HashValue(s)));
finally
Free;
end;
end;
Base64
Для кодирования\декодирования base64 имеется модуль - EncdDecd.pas (так же добавляется в uses)
Открываем файл и смотрим:
Имеются 4 функции:
procedure EncodeStream(Input, Output: TStream);
procedure DecodeStream(Input, Output: TStream);
function EncodeString(const Input: string): string;
function DecodeString(const Input: string): string;
Пример использования:
EncodeString ('yekarniybaby');
UPDATE 27/03/2015
(проверено в Delphi XE3)
Md5:
function md5(s: string): string;
begin
Result := '';
with TIdHashMessageDigest5.Create do
try
Result := HashStringAsHex(s)
finally
Free;
end;
end;
На днях потребовалось реализовать алгоритм Md5 и Base64 на Delphi 7.
Примеров в инетах море, но я наткнулся на довольно интересный момент:
все требуемое уже имеется в Delphi (я использую версию 7, так что возможны различия с другими версиями)
Итак приступим:
Md5
Для возможности работы с алгоритмом md5 в пакете indy присутствует модуль IdHashMessageDigest (для поддержки необходимо добавить в секцию uses)
Открываем файл IdHashMessageDigest.pas - путь по умолчанию - c:\Program Files\Borland\Delphi7\Source\Indy
И вот что мы видим:
Implementation of the MD2, MD4 and MD5 Message-Digest Algorithm
as specified in RFC 1319 (1115), 1320 (1186), 1321
(See NOTE below for details of what is exactly implemented)
Author: Pete Mee
Port to Indy 8.1 Doychin Bondzhev (doychin@dsoft-bg.com)
Copyright: (c) Chad Z. Hower and The Winshoes Working Group.
NOTE:
All MDx are ready and bug free.
Ну и собственно пример использования:
function md5(s: string): string;
begin
Result := '';
with TIdHashMessageDigest5.Create do
try
Result := AnsiLowerCase(AsHex(HashValue(s)));
finally
Free;
end;
end;
Base64
Для кодирования\декодирования base64 имеется модуль - EncdDecd.pas (так же добавляется в uses)
Открываем файл и смотрим:
Имеются 4 функции:
procedure EncodeStream(Input, Output: TStream);
procedure DecodeStream(Input, Output: TStream);
function EncodeString(const Input: string): string;
function DecodeString(const Input: string): string;
Пример использования:
EncodeString ('yekarniybaby');
UPDATE 27/03/2015
(проверено в Delphi XE3)
Md5:
function md5(s: string): string;
begin
Result := '';
with TIdHashMessageDigest5.Create do
try
Result := HashStringAsHex(s)
finally
Free;
end;
end;
Комментариев нет:
Отправить комментарий