Lines Matching refs:ctx

41 static const void *body(MD5_CTX *ctx, const void *data, ulong_t size) {  in body()  argument
46 a = ctx->a; in body()
47 b = ctx->b; in body()
48 c = ctx->c; in body()
49 d = ctx->d; in body()
133 ctx->a = a; in body()
134 ctx->b = b; in body()
135 ctx->c = c; in body()
136 ctx->d = d; in body()
149 void MD5_Init(MD5_CTX *ctx) { in MD5_Init() argument
150 ctx->a = 0x67452301; in MD5_Init()
151 ctx->b = 0xefcdab89; in MD5_Init()
152 ctx->c = 0x98badcfe; in MD5_Init()
153 ctx->d = 0x10325476; in MD5_Init()
155 ctx->lo = 0; in MD5_Init()
156 ctx->hi = 0; in MD5_Init()
159 void MD5_Update(MD5_CTX *ctx, const void *data, ulong_t size) { in MD5_Update() argument
163 saved_lo = ctx->lo; in MD5_Update()
164 if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) in MD5_Update()
165 ctx->hi++; in MD5_Update()
166 ctx->hi += size >> 29; in MD5_Update()
174 internal_memcpy(&ctx->buffer[used], data, size); in MD5_Update()
178 internal_memcpy(&ctx->buffer[used], data, free); in MD5_Update()
181 body(ctx, ctx->buffer, 64); in MD5_Update()
185 data = body(ctx, data, size & ~(ulong_t)0x3f); in MD5_Update()
189 internal_memcpy(ctx->buffer, data, size); in MD5_Update()
192 void MD5_Final(unsigned char *result, MD5_CTX *ctx) { in MD5_Final() argument
195 used = ctx->lo & 0x3f; in MD5_Final()
197 ctx->buffer[used++] = 0x80; in MD5_Final()
202 internal_memset(&ctx->buffer[used], 0, free); in MD5_Final()
203 body(ctx, ctx->buffer, 64); in MD5_Final()
208 internal_memset(&ctx->buffer[used], 0, free - 8); in MD5_Final()
210 ctx->lo <<= 3; in MD5_Final()
211 ctx->buffer[56] = ctx->lo; in MD5_Final()
212 ctx->buffer[57] = ctx->lo >> 8; in MD5_Final()
213 ctx->buffer[58] = ctx->lo >> 16; in MD5_Final()
214 ctx->buffer[59] = ctx->lo >> 24; in MD5_Final()
215 ctx->buffer[60] = ctx->hi; in MD5_Final()
216 ctx->buffer[61] = ctx->hi >> 8; in MD5_Final()
217 ctx->buffer[62] = ctx->hi >> 16; in MD5_Final()
218 ctx->buffer[63] = ctx->hi >> 24; in MD5_Final()
220 body(ctx, ctx->buffer, 64); in MD5_Final()
222 result[0] = ctx->a; in MD5_Final()
223 result[1] = ctx->a >> 8; in MD5_Final()
224 result[2] = ctx->a >> 16; in MD5_Final()
225 result[3] = ctx->a >> 24; in MD5_Final()
226 result[4] = ctx->b; in MD5_Final()
227 result[5] = ctx->b >> 8; in MD5_Final()
228 result[6] = ctx->b >> 16; in MD5_Final()
229 result[7] = ctx->b >> 24; in MD5_Final()
230 result[8] = ctx->c; in MD5_Final()
231 result[9] = ctx->c >> 8; in MD5_Final()
232 result[10] = ctx->c >> 16; in MD5_Final()
233 result[11] = ctx->c >> 24; in MD5_Final()
234 result[12] = ctx->d; in MD5_Final()
235 result[13] = ctx->d >> 8; in MD5_Final()
236 result[14] = ctx->d >> 16; in MD5_Final()
237 result[15] = ctx->d >> 24; in MD5_Final()
239 internal_memset(ctx, 0, sizeof(*ctx)); in MD5_Final()
244 MD5_CTX ctx; in md5_hash() local
245 MD5_Init(&ctx); in md5_hash()
246 MD5_Update(&ctx, data, size); in md5_hash()
247 MD5_Final((unsigned char*)&res.hash[0], &ctx); in md5_hash()