1、参考https://qna.habr.com/q/232342
2、代码
uses
hash, HMAC, HMACSHA2;
function GetSign: string;
var
i: Integer;
key: string;
values: string;
HMacContent: THMAC_Context;
mac: TSHA256Digest;
begin
key := '2018';
values := '2020-10-13&1234'
hmac_SHA256_init(HMacContent, PChar(key), Length(key));
hmac_SHA256_updateXL(HMacContent, PChar(values), Length(values));
hmac_SHA256_final(HMacContent, mac);
Result := '';
for i := 0 to Length(mac) - 1 do
Result := Result + Format('%.2x',[mac[i]]);
end;