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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2014, 22:13   #1
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию Зашифровать в md5 128-bit hash

Как зашифровать текст в md5 128-bit hash ?
UKRtortik вне форума Ответить с цитированием
Старый 03.03.2014, 22:20   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в MD5 нельзя ничего зашифровать - это хзш (некая "контрольная сумма").

А вот получить значение MD5 для заданного текста можно.
Вы зря поиском по форуму не пользуетесь.
Для начала посмотрите ссылки внизу страницы ("Похожие темы")

И учтите, что для MD5 от строки очень важно, что представляет собой строка (AnsiString, WideString) и в каком виде символы в строке закодированы (кодировка).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.03.2014, 22:53   #3
UKRtortik
Форумчанин
 
Регистрация: 25.02.2014
Сообщений: 366
По умолчанию

я смотрел похожие, например:

Код:
Edit2.Text := MD5.HashStringAsHex(Edit1.Text);
Но это не то, не тот хэш. Нужен такой же как тут: http://pr-cy.ru/md5
UKRtortik вне форума Ответить с цитированием
Старый 03.03.2014, 22:59   #4
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Цитата:
Сообщение от UKRtortik Посмотреть сообщение
Но это не то, не тот хэш.
Написали же выше, важно учитывать, какой у Вас тип string. Ansi или юникод. Большинство кода в интернете приведено под Ansi и D7. А Вы, как я понимаю, используете XE+, и соответственно работаете с юникодом. Вот и ищите юникодные функции хэширования.
XE5 вне форума Ответить с цитированием
Старый 04.03.2014, 11:11   #5
STRELOK-2007
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 144
По умолчанию

Единственное для чего я вообще использую Indy в своих проектах:

unit dsMd5;

interface
uses SysUtils, Classes, IdHashMessageDigest;


function ds_md5_string(input: string): AnsiString;
function ds_md5_stream(input: TStream): AnsiString;

implementation

var
idmd5: TIdHashMessageDigest5;

function ds_md5_string(input: string): AnsiString;
begin
Result:=LowerCase(idmd5.AsHex(idmd5 .HashValue(input)));
end;

function ds_md5_stream(input: TStream): AnsiString;
begin
Result:=(idmd5.AsHex(idmd5.HashValu e(input)));
end;

initialization

idmd5:=TIdHashMessageDigest5.Create ;

finalization

idmd5.Free;

end.
STRELOK-2007 вне форума Ответить с цитированием
Старый 04.03.2014, 11:15   #6
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

Цитата:
Сообщение от UKRtortik Посмотреть сообщение
не тот хэш
вот для юникода
к проекту надо подключить файл
C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\source\soap\wsdlimporte r\MessageDigest_5.pas

Код:
var
  hashpw : string;
  MD5: IMD5;
begin
  MD5 := GetMD5;
  MD5.Init;
  MD5.Update(TByteDynArray(RawByteString(APAssword)), Length(APAssword));
  hashpw := MD5.AsString;
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать MD5 Hash в String Shouldercannon Общие вопросы Delphi 3 06.07.2012 14:45
Зашифровать зашифровать фамилию, имя, отчество, группу студента Юленька*** Microsoft Office Excel 1 11.07.2011 17:03
Зашифровать пароль (md5) apromix Помощь студентам 3 04.12.2010 01:05
Строку в MD5-hash если Строка является MD5-хешем... Человек_Борща Общие вопросы Delphi 0 13.04.2010 15:27
Импорт 32-bit dll в 64-bit valchakov Общие вопросы Delphi 8 25.12.2009 15:18