MCPcopy Create free account
hub / github.com/acl-dev/acl / md5_string

Function md5_string

lib_acl_cpp/samples/md5/md5_c.cpp:233–263  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

231}
232
233const char* md5_string(const char *s, const char *k, size_t klen,
234 char* buf, size_t size)
235{
236 md5_ctx context;
237 unsigned char digest[16];
238 char output1[34], *ptr;
239 unsigned int len = (unsigned int) strlen(s);
240 size_t i, n;
241
242 md5_init(&context);
243 if (k != NULL && klen > 0)
244 md5_update(&context, (const unsigned char *) k, (unsigned int) klen);
245 md5_update(&context, (const unsigned char*) s, len);
246 md5_final(digest, &context);
247
248 for (i = 0; i < 16; i++) {
249 sprintf(&(output1[2 * i]), "%02x", (unsigned char) digest[i]);
250 sprintf(&(output1[2 * i + 1]), "%02x",
251 (unsigned char) (digest[i] << 4));
252 }
253
254 ptr = buf;
255 size--; /* left one byte for '\0' */
256 n = size > 32 ? 32 : size;
257
258 for(i = 0; i < n; i++)
259 *ptr++ = output1[i];
260 *ptr = '\0';
261
262 return (buf);
263}
264
265const char* md5_key2string(const unsigned char *s, size_t s_len,
266 char* buf, size_t size)

Callers 1

base_testFunction · 0.85

Calls 3

md5_initFunction · 0.85
md5_updateFunction · 0.85
md5_finalFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…