EVP系列的函數(shù)定義包含在"evp.h"里面,這是一系列封裝了openssl加密庫里面所有算法的函數(shù)。通過這樣的統(tǒng)一的封裝,使得只需要在初始化參數(shù)的時(shí)候做很少的改變,就可以使用相同的代碼但采用不同的加密算法進(jìn)行數(shù)據(jù)的加密和解密。EVP系列函數(shù)主要封裝了三大類型的算法,要支持全部這些算法,請調(diào)用OpenSSL_add_all_algorithms函數(shù),下面分別就其結(jié)構(gòu)作一個(gè)簡單的介紹。
【公開密鑰算法】
函數(shù)名稱:EVP_Seal*...*,EVP_Open*...*
功能描述:該系列函數(shù)封裝提供了公開密鑰算法的加密和解密功能,實(shí)現(xiàn)了電子信封的功能。
相關(guān)文件:p_seal.c,p_open.c
【數(shù)字簽名算法】
函數(shù)名稱:EVP_Sign*...*,EVP_Verify*...*
功能描述:該系列函數(shù)封裝提供了數(shù)字簽名算法和功能。
相關(guān)文件:p_sign.c,p_verify.c
【對稱加密算法】
函數(shù)名稱:EVP_Encrypt*...*
功能描述:該系列函數(shù)封裝提供了對稱加密算法的功能。
相關(guān)文件:evp_enc.c,p_enc.c,p_dec.c,e_*.c
【信息摘要算法】
函數(shù)名稱:EVP_Digest*...*
功能描述:該系列函數(shù)封裝實(shí)現(xiàn)了多種信息摘要算法。
相關(guān)文件:digest.c,m_*.c
【信息編碼算法】
函數(shù)名稱:EVP_Encode*...*
功能描述:該系列函數(shù)封裝實(shí)現(xiàn)了ASCII碼與二進(jìn)制碼之間的轉(zhuǎn)換函數(shù)和功能。
相關(guān)文件:encode.c
注意:
自從出現(xiàn)engin版本以后,所有對稱加密算法和摘要算法可以用ENGINE模塊實(shí)現(xiàn)的算法代替。如果ENGINE模塊實(shí)現(xiàn)的對稱加密和信息摘要函數(shù)被注冊為缺省的實(shí)現(xiàn)算法,那么當(dāng)使用各種EVP函數(shù)時(shí),軟件編譯的時(shí)候會(huì)自動(dòng)將該實(shí)現(xiàn)模塊連接進(jìn)去。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。