Einzelnen Beitrag anzeigen

EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
415 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Indy-Dateien für HMACSHA256 Hash

  Alt 17. Dez 2021, 15:45
Ich möchte mit Hilfe von Indy-Dateien eine HMAC-Funktion aufrufen. Dazu habe ich bei stackoverflow nachfolgende
function gefunden und versuche vergeblich sie aufzurufen, denn beim Aufruf erhalte ich die Fehlermeldung "SHA256 hashing is not avaible!"
Fehlt da möglicherweise eine dll? Leider habe ich dazu bislang noch keinen brauchbaren Hinweis gefunden.
Die nachfolgende function wird im I-net mehrfach erwähnt und sollte daher doch funktionieren - oder ?
Was mache ich falsch oder was fehlt da noch?
Delphi-Quellcode:
uses
  IdGlobal, IdHashSHA, IdHMAC, IdHMACSHA1, IdSSLOpenSSL;

function CalculateHMACSHA256(const value, salt: String): String;
var
  hmac: TIdHMACSHA256;
  hash: TIdBytes;
begin
  LoadOpenSSLLibrary;
  if not TIdHashSHA256.IsAvailable then
    raise Exception.Create('SHA256 hashing is not available!');
  hmac := TIdHMACSHA256.Create;
  try
    hmac.Key := IndyTextEncoding_UTF8.GetBytes(salt);
    hash := hmac.HashValue(IndyTextEncoding_UTF8.GetBytes(value));
    Result := ToHex(hash);
  finally
    hmac.Free;
  end;
end;
Norbert
  Mit Zitat antworten Zitat