openssl裡面AES演算法主要函式的引數的介紹

2021-10-10 20:58:33 字數 726 閱讀 3558

int aes_set_encrypt_key(const unsigned char *userkey, const int bits,

aes_key *key);

int aes_set_decrypt_key(const unsigned char *userkey, const int bits,

aes_key *key);

引數名稱

描述userkey

使用者指定的密碼。注意:只能是16、24、32位元組。如果密碼字串長度不夠,可以在字串末尾追加一些特定的字元,或者重複密碼字串,直到滿足最少的長度。

bits

密碼位數。即userkey的長度 * 8,只能是128、192、256位。

key向外輸出引數。

void aes_encrypt(const unsigned char *in, unsigned char *out,

const aes_key *key);

void aes_decrypt(const unsigned char *in, unsigned char *out,

const aes_key *key);

引數名稱

描述in

輸入資料。必須是16位元組。

out輸出資料。必須是16位元組。

key使用aes_set_encrypt/decrypt_key生成的key。

openSSL實現AES加密

openssl是很常見的c介面的庫,個人覺得易用。以下是aescbc cfb ecb加密方式的用法都是類似的,只是函式名有點區別,就不一一枚舉了。一 介面簡介 設定加密金鑰,使用字元緩衝區 intaes set encrypt key const unsigned char userkey,cons...

OpenSSL中AES加密的用法

使用api的時候,需要特別小心資料長度,我在初次使用的時候簡直被弄的暈頭轉向,遂作此文留個備忘。一般沒有指定長度的引數,預設都是16 aes block size 個位元組。輸出資料的長度一般都是16位元組的倍數,否則會出現陣列越界訪問。以下api中,encrypt表示加密,decrypt表示解密。...

基於openssl的AES加解密

對於加解密,企業常用的有aes和rsa,它們分別是對稱加解密演算法和非對稱加解密演算法的代表,這裡主要封裝了php的一套基於openssl的aes加解密實現類 created by phpstorm.user 小小徐 date 2019 4 21 time 18 11 class baseaes 校...