2014-04-04 32 views
1

我在看OpenSSL documentation。在HMAC_CTX的第一頁上提到的是:什麼是HMAC_CTX? CTX代表什麼?

HMAC_CTX_init()在第一次使用之前初始化HMAC_CTX。它必須被調用。

但它似乎並沒有說什麼一個HMAC_CTX。那麼,它是什麼,CTX代表什麼?

+1

上下文通常是什麼ctx代表im不知道如果這在你的上下文中。 –

回答

3

CTX代表什麼?

正如盧克所說,它是一個背景。


什麼是HMAC_CTX?

上下文是操作HMAC的「便箋式」區域。上下文將保存狀態數據和中間計算。

下面是結構的成員從<openssl src>/crypto/hmac/hmac.h

typedef struct hmac_ctx_st 
    { 
    const EVP_MD *md; 
    EVP_MD_CTX md_ctx; 
    EVP_MD_CTX i_ctx; 
    EVP_MD_CTX o_ctx; 
    unsigned int key_length; 
    unsigned char key[HMAC_MAX_MD_CBLOCK]; 
    } HMAC_CTX; 

的OpenSSL有其他情況下也一樣,像PKEYBIGNUM上下文。