Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/27: Рейтинг темы: голосов - 27, средняя оценка - 5.00
7 / 7 / 3
Регистрация: 11.10.2014
Сообщений: 363
1

HMAC SHA256

17.05.2016, 19:05. Показов 5291. Ответов 6
Метки нет (Все метки)

Подскажите как осуществить способ шифрования в SHA256. Работаю на XE10. Использовал функцию
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
uses Hash, HMAC, HMACSHA2, Mem_Util
{...}
function GetBase64_HMAC_SHA256(AKey, AStr: AnsiString): String;
var
  ctx: THMAC_Context;
  mac: TSHA256Digest;
begin
  hmac_SHA256_init(ctx, @AKey[1], Length(AKey));
  hmac_SHA256_update(ctx, @AStr[1], Length(AStr));
  hmac_SHA256_final(ctx, mac);
  Result := Base64Str(@mac, SizeOf(TSHA256Digest));
end;
На XE7 работает отлично, а вот на XE10
Delphi
1
2
3
4
5
6
7
8
unit HMAC;
...
type
  THMAC_Context = record
                    hashctx: THashContext;    // Undeclared identifier: 'THashContext'
                    hmacbuf: THashBuffer;     // Undeclared identifier: 'THashContext'
                    phashd : PHashDesc;       // Undeclared identifier: 'THashContext'
                  end;
и еще очень большая куча ошибок
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2016, 19:05
Ответы с готовыми решениями:

Функция HMAC SHA256 в delphi
доброго времени суток. Подскажите как осуществить функцию шифрования HMAC SHA256 в delphi В...

HMAC-MD5
прошу помочь, уже весь интернет обыскал, но не нашел алгоритма получения хэш-значения HMACMD5 в...

HMAC-SHA512
Добрый день. Подскажите как захешировать строку через HMAC-SHA512 в D7? Поиск выдал много...

Каким модулем зашифровать строку в sha256?
Дайте пож модуль для шифрования строки в sha 256

6
4932 / 3840 / 1278
Регистрация: 14.04.2014
Сообщений: 17,727
Записей в блоге: 18
17.05.2016, 21:36 2
Лучший ответ Сообщение было отмечено INstantKiLLer как решение

Решение

byteArray:=THashSHA2.GetHMACAsBytes('asdfasdfasdfads','dfsdf assafsfd');
http://docwiki.embarcadero.com... MACAsBytes
ну и вот еще
http://docwiki.embarcadero.com... ing.Base64
1
31 / 30 / 16
Регистрация: 08.07.2015
Сообщений: 137
17.05.2016, 21:46 3
Список ошибок можете опубликовать ?
0
7 / 7 / 3
Регистрация: 11.10.2014
Сообщений: 363
17.05.2016, 22:46  [ТС] 4
Цитата Сообщение от krapotkin Посмотреть сообщение
byteArray:=THashSHA2.GetHMACAsBytes('asdfasdfasdfads','dfsdf assafsfd');
Помоги пожалуйста разобраться, цель моего приложения такова, имеются 3 edit`a, в первый вводится строка (123) для шифровки, а во второй ключ(qwerty) и что бы ответ выводился в 3 edit (a33da5f049557c8a1257901ec39af6c4aa9b3444932a17e4809cbeb9c9d 4e83b)
По сути не сложно, но чет не могу организовать вывод в 3 edit, как можно это вывести в string?
0
4932 / 3840 / 1278
Регистрация: 14.04.2014
Сообщений: 17,727
Записей в блоге: 18
17.05.2016, 22:55 5
издеваетесь?
у вас на руках массив байтов, взять и преобразовать каждый байт в цикле в шестнадцатиричное представление
Delphi
1
2
3
4
5
6
7
8
9
10
var a : TByteArray;
  i:integer;
  s:string;
begin
  a:=THashSHA2.GetHMACAsBytes(edit1.text , edit2.text);
  s:='';
  for i:=0 to high(a) do
    s:=s+inttohex(a[i],2);
  edit3.text:=s;
end;
1
7 / 7 / 3
Регистрация: 11.10.2014
Сообщений: 363
17.05.2016, 22:59  [ТС] 6
Цитата Сообщение от krapotkin Посмотреть сообщение
a:=THashSHA2.GetHMACAsBytes(edit1.text , edit2.text);
[dcc32 Error] Unit2.pas(37): E2010 Incompatible types: 'TByteArray' and 'System.TArray<System.Byte>'
0
4932 / 3840 / 1278
Регистрация: 14.04.2014
Сообщений: 17,727
Записей в блоге: 18
17.05.2016, 23:03 7
ох да, очепятко
TArray<byte>

а теперь если прочитать все-таки документацию, мы получим...

Delphi
1
edit3.text:=THashSHA2.GetHMAC(edit1.text , edit2.text);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2016, 23:03

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Реализация алгоритма HMAC SHA256
Подскажите реализацию hmac sha256 на с++.

Генерация HMAC (SHA256) по ключу
Помогите организовать генерацию используя две строки (строка которую шифруем и строка с ключем)....

Как подать строку в hmac.new() в третьем питоне?
Доброго времени суток. Я 3 года практикую разработку на PHP5, и не так давно взялся осваивать...

Генерация HMAC CALG_SHA_256 под WindowsXP (CryptoAPI)
Привет! Подскажите, возможно ли под XP SP3 генерить SHA256 под заданному ключу (байт массив) ? В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.