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

SHA2-256 Hashing checking and HMAC Functions. More...

Functions

void sha256sum2 (unsigned char *buff, const void *data, unsigned long len, const void *data2, unsigned long len2)
 Calculate the SHA2-256 hash accross 2 data chunks. More...
 
void sha256sum (unsigned char *buff, const void *data, unsigned long len)
 Calculate the SHA2-256 hash. More...
 
int sha256cmp (unsigned char *digest1, unsigned char *digest2)
 Compare two SHA2-256 hashes. More...
 
void sha256hmac (unsigned char *buff, const void *data, unsigned long len, const void *key, unsigned long klen)
 Hash Message Authentication Codes (HMAC) SHA2-256. More...
 

Detailed Description

SHA2-256 Hashing checking and HMAC Functions.

Function Documentation

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

Compare two SHA2-256 hashes.

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

Definition at line 243 of file util.c.

243  {
244  return (_digest_cmp(digest1, digest2, 32));
245 }
void sha256hmac ( unsigned char *  buff,
const void *  data,
unsigned long  len,
const void *  key,
unsigned long  klen 
)

Hash Message Authentication Codes (HMAC) SHA2-256.

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

Definition at line 314 of file util.c.

References sha256sum2().

314  {
315  _hmac(buff, data, len, key, klen, sha256sum2, 32);
316 }
unsigned short len
Packet length.
Definition: radius.c:52
void sha256sum2(unsigned char *buff, const void *data, unsigned long len, const void *data2, unsigned long len2)
Calculate the SHA2-256 hash accross 2 data chunks.
Definition: util.c:127
void sha256sum ( unsigned char *  buff,
const void *  data,
unsigned long  len 
)

Calculate the SHA2-256 hash.

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

Definition at line 144 of file util.c.

References sha256sum2().

144  {
145  sha256sum2(buff, data, len, NULL, 0);
146 }
unsigned short len
Packet length.
Definition: radius.c:52
void sha256sum2(unsigned char *buff, const void *data, unsigned long len, const void *data2, unsigned long len2)
Calculate the SHA2-256 hash accross 2 data chunks.
Definition: util.c:127
void sha256sum2 ( unsigned char *  buff,
const void *  data,
unsigned long  len,
const void *  data2,
unsigned long  len2 
)

Calculate the SHA2-256 hash accross 2 data chunks.

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

Definition at line 127 of file util.c.

Referenced by sha256hmac(), and sha256sum().

127  {
128  SHA256_CTX c;
129 
130  SHA256_Init(&c);
131  SHA256_Update(&c, data, len);
132  if (data2) {
133  SHA256_Update(&c, data2, len2);
134  }
135  SHA256_Final(buff, &c);
136 }
unsigned short len
Packet length.
Definition: radius.c:52