Difference between revisions of "HMAC-SHA1"

From Lazarus wiki
Jump to navigationJump to search
(Clarify what HMAC-SHA1 is and added example code)
m (→‎See also: Fix broken mailing list link)
 
Line 26: Line 26:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== See also: ==
+
== See also ==
* Mailing list thread started by the author of the code: [http://thread.gmane.org/gmane.comp.compilers.free-pascal.general/31172/focus=31182 broken link]
+
 
 +
* [https://fpc-pascal.freepascal.narkive.com/eyV27Nra/hmac-sha1-and-fpc#post2 Mailing list thread] started by the author of the code.
 +
 
 
* [[HMAC-MD5]]
 
* [[HMAC-MD5]]
 +
 
* [[hash]]
 
* [[hash]]

Latest revision as of 03:03, 28 October 2021

English (en) français (fr)

Overview

HMAC-SHA1 is an HMAC (hash-based message authentication code), a type of message authentication code using a cryptographic hash function and a secret cryptographic key, generated by the SHA-1 hash algorithm.

It is implemented in FPC trunk revision 27319 of March 2014.

Example code: packages/hash/examples/hsha1.pp

// See some samples in: http://en.wikipedia.org/wiki/Hash-based_message_authentication_code
program hsha1;

{$mode objfpc}{$H+}

uses
  HMAC;

begin
  // for HMAC_SHA1("", "") = 0xfbdb1d1b18aa6c08324b7d64b71fb76370690e1d
  WriteLn('Example 1: ', HMACSHA1Print(HMACSHA1Digest('', '')));
  
// for HMAC_SHA1("key", "The quick brown fox jumps over the lazy dog") = 0xde7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9
  WriteLn('Example 2: ', HMACSHA1('key', 'The quick brown fox jumps over the lazy dog'));
end.

See also