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
MD5 Hashing and digest functions

MD5 Hashing checking and HMAC Functions. More...

Functions

void md5sum2 (unsigned char *buff, const void *data, unsigned long len, const void *data2, unsigned long len2)
 Calculate the MD5 hash accross 2 data chunks. More...
 
void md5sum (unsigned char *buff, const void *data, unsigned long len)
 Calculate the MD5 hash. More...
 
int md5cmp (unsigned char *digest1, unsigned char *digest2)
 Compare two md5 hashes. More...
 
void md5hmac (unsigned char *buff, const void *data, unsigned long len, const void *key, unsigned long klen)
 Hash Message Authentication Codes (HMAC) MD5. More...
 

Detailed Description

MD5 Hashing checking and HMAC Functions.

Function Documentation

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

Compare two md5 hashes.

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

Definition at line 223 of file util.c.

223  {
224  return (_digest_cmp(digest1, digest2, 16));
225 }
void md5hmac ( unsigned char *  buff,
const void *  data,
unsigned long  len,
const void *  key,
unsigned long  klen 
)

Hash Message Authentication Codes (HMAC) MD5.

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

Definition at line 290 of file util.c.

References md5sum2().

290  {
291  _hmac(buff, data, len, key, klen, md5sum2, 16);
292 }
unsigned short len
Packet length.
Definition: radius.c:52
void md5sum2(unsigned char *buff, const void *data, unsigned long len, const void *data2, unsigned long len2)
Calculate the MD5 hash accross 2 data chunks.
Definition: util.c:185
void md5sum ( unsigned char *  buff,
const void *  data,
unsigned long  len 
)

Calculate the MD5 hash.

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

Definition at line 202 of file util.c.

References md5sum2().

202  {
203  md5sum2(buff, data, len, NULL, 0);
204 }
unsigned short len
Packet length.
Definition: radius.c:52
void md5sum2(unsigned char *buff, const void *data, unsigned long len, const void *data2, unsigned long len2)
Calculate the MD5 hash accross 2 data chunks.
Definition: util.c:185
void md5sum2 ( unsigned char *  buff,
const void *  data,
unsigned long  len,
const void *  data2,
unsigned long  len2 
)

Calculate the MD5 hash accross 2 data chunks.

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

Definition at line 185 of file util.c.

Referenced by md5hmac(), and md5sum().

185  {
186  MD5_CTX c;
187 
188  MD5_Init(&c);
189  MD5_Update(&c, data, len);
190  if (data2) {
191  MD5_Update(&c, data2, len2);
192  }
193  MD5_Final(buff, &c);
194 }
unsigned short len
Packet length.
Definition: radius.c:52