Lines Matching refs:ctx
44 static void sha1_compile(sha1_ctx_t *ctx)
52 w[i] = htonl(ctx->wbuf[i]);
57 a = ctx->hash[0];
58 b = ctx->hash[1];
59 c = ctx->hash[2];
60 d = ctx->hash[3];
61 e = ctx->hash[4];
79 ctx->hash[0] += a;
80 ctx->hash[1] += b;
81 ctx->hash[2] += c;
82 ctx->hash[3] += d;
83 ctx->hash[4] += e;
86 void sha1_begin(sha1_ctx_t *ctx)
88 ctx->count[0] = ctx->count[1] = 0;
89 ctx->hash[0] = 0x67452301;
90 ctx->hash[1] = 0xefcdab89;
91 ctx->hash[2] = 0x98badcfe;
92 ctx->hash[3] = 0x10325476;
93 ctx->hash[4] = 0xc3d2e1f0;
98 void sha1_hash(const void *data, size_t length, sha1_ctx_t *ctx)
100 uint32_t pos = (uint32_t) (ctx->count[0] & SHA1_MASK);
104 if ((ctx->count[0] += length) < length)
105 ++(ctx->count[1]);
108 memcpy(((unsigned char *) ctx->wbuf) + pos, sp, freeb);
113 sha1_compile(ctx);
116 memcpy(((unsigned char *) ctx->wbuf) + pos, sp, length);
119 void *sha1_end(void *resbuf, sha1_ctx_t *ctx)
131 uint32_t i, cnt = (uint32_t) (ctx->count[0] & SHA1_MASK);
138 ctx->wbuf[cnt >> 2] =
139 (ctx->wbuf[cnt >> 2] & mask[cnt & 3]) | bits[cnt & 3];
146 ctx->wbuf[15] = 0;
147 sha1_compile(ctx);
153 ctx->wbuf[cnt++] = 0;
158 ctx->wbuf[14] = htonl((ctx->count[1] << 3) | (ctx->count[0] >> 29));
159 ctx->wbuf[15] = htonl(ctx->count[0] << 3);
161 sha1_compile(ctx);
167 hval[i] = (unsigned char) (ctx->hash[i >> 2] >> 8 * (~i & 3));