Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2010, 15:19   #1
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию From C# to Delphi, Calculate MD5

ести функ в C# надо зделати в Delphi

Код:
public static string a(byte[] A_0)
{
    byte[] buffer = new MD5CryptoServiceProvider().ComputeHash(A_0);
    StringBuilder builder = new StringBuilder();
    int num2 = buffer.Length - 1;
    for (int i = 0; i <= num2; i++)
    {
        builder.Append(buffer[i].ToString("x2"));
    }
    return builder.ToString();
}
вот што у меня получилоси

Код:
function TForm1.ha(A_O: Byte): string;
var
 builder : TStringBuilder;
 num2, i : integer;
begin
  buffer  := MD5CryptoServiceProvider.Create.ComputeHash(A_0);
  builder := TStringBuilder.Create;
  num2    := (buffer.Length - 1);
  i := 0;
    while ((i <= num2)) do
    begin
        builder.Append(buffer[i].ToString('x2'));
        inc(i)
    end;
    begin
        Result := builder.ToString;
        exit
    end
end;
но как поступать с этот MD5CryptoServiceProvider, и откуда взять, я незнаю,

MD5CryptoServiceProvider Class From Microsoft...

Спасибо.
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');

Последний раз редактировалось bitSoft; 07.07.2010 в 15:21.
bitSoft вне форума Ответить с цитированием
Старый 07.07.2010, 15:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

http://www.delphiworld.narod.ru/base/md5.html
http://www.delphiworld.narod.ru/base/hash_md5.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.07.2010, 15:46   #3
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

я про это знаю но как будет в моём случе?

Tak?

Код:
function h(A_0 : byte) : string;
begin
 Result := MD5DigestToStr(A_0);
end;
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');

Последний раз редактировалось bitSoft; 07.07.2010 в 15:48.
bitSoft вне форума Ответить с цитированием
Старый 07.07.2010, 16:39   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

нет, не так...
В C# передаётся МАССИВ байт,
а в вашем коде на Delphi - ОДИН байт
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.07.2010, 17:10   #5
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
нет, не так...
В C# передаётся МАССИВ байт,
а в вашем коде на Delphi - ОДИН байт
да вапше как мне поступать?, и как работает это функ

а вот и втарая функ :

Код:
public static string c(string A_0)
{
    return ha(Encoding.ASCII.GetBytes("Test..." + A_0));
}
это я зделал :

Код:
function TForm1.hc(A_0: string): string;
begin
   Result := ha(Ord(Concat('Test...', A_0)))
end;
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');

Последний раз редактировалось bitSoft; 07.07.2010 в 20:17.
bitSoft вне форума Ответить с цитированием
Старый 08.07.2010, 10:08   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как будет в моём случе?
В твоем случае никак ибо MD5CryptoServiceProvider это .NET класс.
Разве что ты будешь работать в Delphi.NET
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.07.2010, 11:20   #7
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В твоем случае никак ибо MD5CryptoServiceProvider это .NET класс.
Разве что ты будешь работать в Delphi.NET
а зделать аналогичную функу?, здесь оно делает MD5 но не панимаю этот цикл :
Код:
while ((i <= num2)) do
  begin
        builder.Append(buffer[i].ToString('x2')); // зачем здесь append и '2x'
        inc(i)
  end;
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Различие MD5 Delphi и MD5 PHP Viteef Общие вопросы Delphi 14 09.02.2011 11:53
Строку в MD5-hash если Строка является MD5-хешем... Человек_Борща Общие вопросы Delphi 0 13.04.2010 15:27
PHP MD5 и Delphi/C/C++ MD5 в чем отличие? Человек_Борща Общие вопросы Delphi 1 05.04.2010 20:18
MD5 в Delphi LeoN Общие вопросы Delphi 7 23.09.2009 12:25