Difference between revisions of "HMAC-SHA1"

From Lazarus wiki
Jump to navigationJump to search
(Clarify what HMAC-SHA1 is and added example code)
Line 2: Line 2:
  
 
== Overview ==
 
== Overview ==
HMAC-SHA1 is a HMAC <todo: insert description> using the SHA-1 hash algorithm.
+
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.
 
It is implemented in FPC trunk revision 27319 of March 2014.
  
 
Example code: packages/hash/examples/hsha1.pp
 
Example code: packages/hash/examples/hsha1.pp
 +
 +
<syntaxhighlight lang="pascal">
 +
// 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.
 +
</syntaxhighlight>
  
 
== See also: ==
 
== See also: ==

Revision as of 18:09, 27 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: