diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/md5.c | 10 | ||||
| -rw-r--r-- | lib/md5.h | 1 | 
2 files changed, 11 insertions, 0 deletions
| @@ -161,6 +161,16 @@ void md5_finish(struct MD5Context *ctx, md5_byte_t digest[16])  	memset(ctx, 0, sizeof(ctx));	/* In case it's sensitive */  } +void md5_finish_ascii(struct MD5Context *context, char *ascii) +{ +	md5_byte_t bin[16]; +	int i; +	 +	md5_finish(context, bin); +	for (i = 0; i < 16; i ++) +		sprintf(ascii + i * 2, "%02x", bin[i]); +} +  /* The four core functions - F1 is optimized somewhat */  /* #define F1(x, y, z) (x & y | ~x & z) */ @@ -42,5 +42,6 @@ typedef struct MD5Context {  G_MODULE_EXPORT void md5_init(struct MD5Context *context);  G_MODULE_EXPORT void md5_append(struct MD5Context *context, const md5_byte_t *buf, unsigned int len);  G_MODULE_EXPORT void md5_finish(struct MD5Context *context, md5_byte_t digest[16]); +G_MODULE_EXPORT void md5_finish_ascii(struct MD5Context *context, char *ascii);  #endif | 
