Example #1
0
void winpr_MD5_Final(WINPR_MD5_CTX* ctx, BYTE* output)
{
#if defined(WITH_OPENSSL)
	MD5_Final(output, (MD5_CTX*) ctx);
#elif defined(WITH_MBEDTLS) && defined(MBEDTLS_MD5_C)
	mbedtls_md5_finish((mbedtls_md5_context*) ctx, output);
	mbedtls_md5_free((mbedtls_md5_context*) ctx);
#endif
}
Example #2
0
char *calc_keepalive_data(time_t timestamp) {
    static char keepalive_data[64];
    u_char timebytes[4];
    u_char md5_result[16];
    mbedtls_md5_context md5;
    
    if (strlen(keepalive_data) == 0) {
        strcpy(keepalive_data, DEFAULT_KEEPALIVE_DATA);
    }
    
    int2byte((int)timestamp, timebytes);
    
    mbedtls_md5_init(&md5);
    mbedtls_md5_starts(&md5);
    mbedtls_md5_update(&md5, timebytes, 4);
    mbedtls_md5_update(&md5, (const u_char *)keepalive_data, strlen(keepalive_data));
    mbedtls_md5_finish(&md5, md5_result);
    
    byte2str(md5_result, 16, keepalive_data);
    return keepalive_data;
}
Example #3
0
static void md5_finish_wrap( void *ctx, unsigned char *output )
{
    mbedtls_md5_finish( (mbedtls_md5_context *) ctx, output );
}