DTS Application Library  0.2.3
Application library containing referenced objects and interfaces to common libraries
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
SHA1 Hashing and digest functions

SHA1 Hashing checking and HMAC Functions. More...

Functions

void sha1sum2 (unsigned char *buff, const void *data, unsigned long len, const void *data2, unsigned long len2)
 Calculate the SHA1 hash accross 2 data chunks. More...
 
void sha1sum (unsigned char *buff, const void *data, unsigned long len)
 Calculate the SHA1 hash. More...
 
int sha1cmp (unsigned char *digest1, unsigned char *digest2)
 Compare two SHA1 hashes. More...
 
void sha1hmac (unsigned char *buff, const void *data, unsigned long len, const void *key, unsigned long klen)
 Hash Message Authentication Codes (HMAC) SHA1. More...
 

Detailed Description

SHA1 Hashing checking and HMAC Functions.

Function Documentation

int sha1cmp ( unsigned char *  digest1,
unsigned char *  digest2 
)

Compare two SHA1 hashes.

Parameters
digest1Digest to compare.
digest2Digest to compare.
Returns
0 on equality.

Definition at line 233 of file util.c.

233  {
234  return (_digest_cmp(digest1, digest2, 20));
235 }
void sha1hmac ( unsigned char *  buff,
const void *  data,
unsigned long  len,
const void *  key,
unsigned long  klen 
)

Hash Message Authentication Codes (HMAC) SHA1.

Parameters
buffHMAC returned in this buffer (20 bytes).
dataData to sign.
lenLength of data.
keyKey to signwith.
klenLength of key.

Definition at line 302 of file util.c.

References sha1sum2().

302  {
303  _hmac(buff, data, len, key, klen, sha1sum2, 20);
304 }
unsigned short len
Packet length.
Definition: radius.c:52
void sha1sum2(unsigned char *buff, const void *data, unsigned long len, const void *data2, unsigned long len2)
Calculate the SHA1 hash accross 2 data chunks.
Definition: util.c:156
void sha1sum ( unsigned char *  buff,
const void *  data,
unsigned long  len 
)

Calculate the SHA1 hash.

Parameters
buffbuffer to place the hash (20 bytes).
dataFirst data chunk to calculate.
lenLength of data.

Definition at line 173 of file util.c.

References sha1sum2().

173  {
174  sha1sum2(buff, data, len, NULL, 0);
175 }
unsigned short len
Packet length.
Definition: radius.c:52
void sha1sum2(unsigned char *buff, const void *data, unsigned long len, const void *data2, unsigned long len2)
Calculate the SHA1 hash accross 2 data chunks.
Definition: util.c:156
void sha1sum2 ( unsigned char *  buff,
const void *  data,
unsigned long  len,
const void *  data2,
unsigned long  len2 
)

Calculate the SHA1 hash accross 2 data chunks.

Parameters
buffbuffer to place the hash (20 bytes).
dataFirst data chunk to calculate.
lenLength of data.
data2Second data chunk to calculate.
len2Length of data2.

Definition at line 156 of file util.c.

Referenced by get_ip6_addrprefix(), sha1hmac(), and sha1sum().

156  {
157  SHA_CTX c;
158 
159  SHA_Init(&c);
160  SHA_Update(&c, data, len);
161  if (data2) {
162  SHA_Update(&c, data2, len2);
163  }
164  SHA_Final(buff, &c);
165 }
unsigned short len
Packet length.
Definition: radius.c:52