Пример #1
0
void winpr_MD5_Init(WINPR_MD5_CTX* ctx)
{
#if defined(WITH_OPENSSL)
	MD5_Init((MD5_CTX*) ctx);
#elif defined(WITH_MBEDTLS) && defined(MBEDTLS_MD5_C)
	mbedtls_md5_init((mbedtls_md5_context*) ctx);
	mbedtls_md5_starts((mbedtls_md5_context*) ctx);
#endif
}
Пример #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;
}
Пример #3
0
static void md5_starts_wrap( void *ctx )
{
    mbedtls_md5_starts( (mbedtls_md5_context *) ctx );
}