MD5 на FreePascal
Модератор: Модераторы
MD5 на FreePascal
Как написать md5-кодирование на FreePascal?
- Deepthroat
- постоялец
- Сообщения: 144
- Зарегистрирован: 06.09.2007 00:21:34
- Откуда: Outer Heaven
- Контактная информация:
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
При написании реализации MD5 не может найти библиотеку lbc. где ее можно взять, подскажите пожалуйста?
Добавлено спустя 1 минуту 9 секунд:
пишу прогу в лазарусе под линуксом
Добавлено спустя 1 минуту 9 секунд:
пишу прогу в лазарусе под линуксом
Странно. Модуль md5.pp не использует не какие функции из libc.
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
В смысле при написании реализации? Она уже вроде реализована.
Использовал в линуксе по лазарем. Никаких библиотек не требовала
Использовал в линуксе по лазарем. Никаких библиотек не требовала
а как тогда при помощи этого модуля можно закодировать строку не подскажите???
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Код: Выделить всё
uses ..., md5, LCLProc;
function Get_md5hash(aStr: UTF8String): ansistring;
var
a: TMDDigest;
i: integer;
begin
Result := '';
a := MD5String(aStr);
for i := Low(a) to High(a) do
Result := Result + IntToHex(a[i], 1);
end;
.....
var
s: AnsiString;
begin
.......
s := Get_md5hash('test');
.....
end;
Последний раз редактировалось Padre_Mortius 07.04.2010 15:24:47, всего редактировалось 1 раз.
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Для перевода хэша в печатный вид есть ф-ция mdprint().
а вот эта функция
она откуда берется???
Добавлено спустя 2 минуты 11 секунд:
Sergei I. Gorelkin
спасибо при помощи этой функции все выводится, однако получаются разные результаты при кодировке под виндой и под линуксом. почему?
Код: Выделить всё
s := ConvertPass(aPwd); она откуда берется???
Добавлено спустя 2 минуты 11 секунд:
Sergei I. Gorelkin
спасибо при помощи этой функции все выводится, однако получаются разные результаты при кодировке под виндой и под линуксом. почему?
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
поправил. не изменил после копирования из проекта
Результаты все равно разные.
В windows в delphi я использовал вот такую функцию
В windows в delphi я использовал вот такую функцию
Код: Выделить всё
function md5(s: string): string;
begin
Result := '';
with TIdHashMessageDigest5.Create do
try
Result := AnsiLowerCase(AsHex(HashValue(s)));
finally
Free;
end;
end;Я пользуюсь данной функцией (конкретно MD5Print(MD5String(...))) и ни какой разницы не заметил.
Добавлено спустя 58 секунд:
Более того данная реализация совместима с MD5 хешами реализованными в других ПО.
Добавлено спустя 58 секунд:
Более того данная реализация совместима с MD5 хешами реализованными в других ПО.
исправил, мой косяк был
Спасибо за помощь:)
Спасибо за помощь:)
