title: TIdHMACSHA256.TIdHMACSHA384.TIdHMACSHA512 do not work in Delphi
body: <p>Why HashValue function of TIdHMACSHA256+ (Indy/delphi) always return empty? For example, the code below does not work.</p>
  
  <pre><code>var
    Hash: TIdHMACSHA256 ;
    HashValue: TBytes;
  begin
    SetCurrentDir(ExtractFilePath(ParamStr(0)));
    Hash := TIdHMACSHA256 .Create;
    try
      Hash.Key := TEncoding.ASCII.GetBytes('devaee2');
      HashValue := Hash.HashValue(TFile.ReadAllBytes('menu.xml'));
      // HashValue is an empty array, why?
      Tag := Length(HashValue);
      TFile.WriteAllBytes('menu.xml.hash', HashValue);
  
    finally
      FreeAndNil(Hash);
    end;
  end;
  </code></pre>