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