OpenSSL常用函數(shù)(Base64編碼及解碼)

字號:

Base64編碼就是把二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為可見的ASCII字符。 Base64解碼是相反的過程。
    主要函數(shù)
    1、 Base64編碼初始化函數(shù)
    Void EVP_EncodeInit(EVP_ENCODE_CTX *ctx);
    參數(shù)ctx:[IN]用于保存Base64編碼的的狀態(tài)。
    2、 Base64編碼Update函數(shù)。
    Void EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *out1, const unsigned char *in, int in1);
    功能:進(jìn)行Base64數(shù)據(jù)編碼, 對于大數(shù)據(jù)可以重復(fù)調(diào)用。
    3、 Base64編碼結(jié)束函數(shù)
    Void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *out1);
    函數(shù)功能:編碼結(jié)束,輸出最后剩余的編碼數(shù)據(jù)。
    4、 Base64編碼函數(shù)
    Void EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n);
    功能:進(jìn)行Base64數(shù)據(jù)編碼, 適用于小量數(shù)據(jù)。
    參數(shù):t:[OUT]編碼后的數(shù)據(jù)。F:[IN]待編碼的數(shù)據(jù)。N:[IN]待編碼數(shù)據(jù)的長度
    返回值:編碼后的數(shù)據(jù)長度。
    5、 Base64解碼初始化函數(shù)
    Void EVP_DecodeInit(EVP_ENCODE_CTX *ctx);
    參數(shù)ctx:[IN]用于保存Base64解碼的的狀態(tài)。
    6、 Base64解碼Update函數(shù)
    Void EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *out1, const unsigned char *in, int in1);
    功能:進(jìn)行Base64數(shù)據(jù)解碼, 考試大提示對于大數(shù)據(jù)可以重復(fù)調(diào)用。
    7、 Base64解碼結(jié)束函數(shù)
    Void EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *out1);
    函數(shù)功能:解碼結(jié)束,輸出最后剩余的解碼數(shù)據(jù)。
    8、 Base64解碼函數(shù)
    Void EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n);
    功能:進(jìn)行Base64數(shù)據(jù)解碼, 適用于小量數(shù)據(jù)。
    參數(shù):t:[OUT]解碼后的數(shù)據(jù)。F:[IN]待解碼的數(shù)據(jù)。N:[IN]待解碼數(shù)據(jù)的長度
    返回值:解碼后的數(shù)據(jù)長度。