ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
sha1.h File Reference

Go to the source code of this file.

Data Structures

struct  SHA1_CTX
 

Macros

#define SHA1_BLOCK_LENGTH   64
 
#define SHA1_DIGEST_LENGTH   20
 

Functions

void SHA1Init (SHA1_CTX *context)
 
void SHA1Transform (uint32_t state[5], const unsigned char buffer[64])
 
void SHA1Update (SHA1_CTX *context, const void *data, unsigned int len)
 
void SHA1Final (unsigned char digest[20], SHA1_CTX *context)
 

Macro Definition Documentation

◆ SHA1_BLOCK_LENGTH

#define SHA1_BLOCK_LENGTH   64

Definition at line 16 of file sha1.h.

◆ SHA1_DIGEST_LENGTH

#define SHA1_DIGEST_LENGTH   20

Definition at line 17 of file sha1.h.

Function Documentation

◆ SHA1Final()

void SHA1Final ( unsigned char  digest[20],
SHA1_CTX *  context 
)

◆ SHA1Init()

void SHA1Init ( SHA1_CTX *  context)

Definition at line 186 of file sha1.c.

186 {
187 /* SHA1 initialization constants */
188 context->count = 0;
189 context->state[0] = 0x67452301;
190 context->state[1] = 0xEFCDAB89;
191 context->state[2] = 0x98BADCFE;
192 context->state[3] = 0x10325476;
193 context->state[4] = 0xC3D2E1F0;
194}
uint64_t count
Definition sha1.h:21
uint32_t state[5]
Definition sha1.h:20

References SHA1_CTX::count, and SHA1_CTX::state.

◆ SHA1Transform()

void SHA1Transform ( uint32_t  state[5],
const unsigned char  buffer[64] 
)

◆ SHA1Update()

void SHA1Update ( SHA1_CTX *  context,
const void *  data,
unsigned int  len 
)

Definition at line 198 of file sha1.c.

198 {
199 const uint8_t *data = dataptr;
200 unsigned int i;
201 unsigned int j;
202
203 j = (uint32_t)((context->count >> 3) & 63);
204 context->count += (len << 3);
205 if ((j + len) > 63) {
206 memcpy(&context->buffer[j], data, (i = 64 - j));
207 SHA1Transform(context->state, context->buffer);
208 for (; i + 63 < len; i += 64) {
209 SHA1Transform(context->state, &data[i]);
210 }
211 j = 0;
212 } else
213 i = 0;
214 memcpy(&context->buffer[j], &data[i], len - i);
215}
unsigned int uint32_t
Definition common.h:58
unsigned char uint8_t
Definition common.h:56
void SHA1Transform(uint32_t state[5], const unsigned char buffer[SHA1_BLOCK_LENGTH])
Definition sha1.c:70
unsigned char buffer[64]
Definition sha1.h:22

References SHA1_CTX::buffer, SHA1_CTX::count, SHA1Transform(), and SHA1_CTX::state.

Referenced by SHA1Final().