Openssl是很常見的C接口的庫,個人覺得易用。以下是AES加密的使用備忘。如果你有一定的密碼學基礎,那么就很好理解。代碼是從網上弄下來的(原始地址已經忘記了),然后在嘗試的過程中改了一點東西。其它的cbc、cfb、ecb加密方式的用法都是類似的,只是函數名有點區別,就不一一列舉了。
一、接口簡介
//設置加密密鑰,使用字符緩沖區
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);
//加解密的接口,通過最后的enc來區分是加密還是解密操作
//每次執行AES_cbc_encrypt后,iv(向量)會被更新,
//所以需要自己保存它。
void AES_cbc_encrypt(
const unsigned char *in,
unsigned char *out,
const unsigned long length,
const AES_KEY *key,
unsigned char *ivec,
const int enc);
待續。。。
