Lines Matching refs:md5
125 static void md5_compress(struct md5_state *md5, const unsigned char *buf)
129 assert(md5 != NULL);
138 a = md5->state[0];
139 b = md5->state[1];
140 c = md5->state[2];
141 d = md5->state[3];
208 md5->state[0] = md5->state[0] + a;
209 md5->state[1] = md5->state[1] + b;
210 md5->state[2] = md5->state[2] + c;
211 md5->state[3] = md5->state[3] + d;
217 @param md5 The hash state you wish to initialize
220 md5_init(struct md5_state *md5)
222 assert(md5 != NULL);
223 md5->state[0] = 0x67452301UL;
224 md5->state[1] = 0xefcdab89UL;
225 md5->state[2] = 0x98badcfeUL;
226 md5->state[3] = 0x10325476UL;
227 md5->curlen = 0;
228 md5->length = 0;
233 @param md5 The hash state
238 md5_process(struct md5_state *md5, const unsigned char *in, Py_ssize_t inlen)
242 assert(md5 != NULL);
244 assert(md5->curlen <= sizeof(md5->buf));
247 if (md5->curlen == 0 && inlen >= MD5_BLOCKSIZE) {
248 md5_compress(md5, in);
249 md5->length += MD5_BLOCKSIZE * 8;
253 n = Py_MIN(inlen, (Py_ssize_t)(MD5_BLOCKSIZE - md5->curlen));
254 memcpy(md5->buf + md5->curlen, in, (size_t)n);
255 md5->curlen += (MD5_INT32)n;
258 if (md5->curlen == MD5_BLOCKSIZE) {
259 md5_compress(md5, md5->buf);
260 md5->length += 8*MD5_BLOCKSIZE;
261 md5->curlen = 0;
269 @param md5 The hash state
273 md5_done(struct md5_state *md5, unsigned char *out)
277 assert(md5 != NULL);
279 assert(md5->curlen < sizeof(md5->buf));
282 md5->length += md5->curlen * 8;
285 md5->buf[md5->curlen++] = (unsigned char)0x80;
291 if (md5->curlen > 56) {
292 while (md5->curlen < 64) {
293 md5->buf[md5->curlen++] = (unsigned char)0;
295 md5_compress(md5, md5->buf);
296 md5->curlen = 0;
300 while (md5->curlen < 56) {
301 md5->buf[md5->curlen++] = (unsigned char)0;
305 STORE64L(md5->length, md5->buf+56);
306 md5_compress(md5, md5->buf);
310 STORE32L(md5->state[i], out+(4*i));
314 /* .Source: /cvs/libtom/libtomcrypt/src/hashes/md5.c,v $ */
339 MD5object *md5 = (MD5object *)PyObject_GC_New(MD5object, st->md5_type);
340 PyObject_GC_Track(md5);
341 return md5;
464 return PyUnicode_FromStringAndSize("md5", 3);
498 .name = "_md5.md5",
508 _md5.md5