openSSL实现AES加密

Openssl是很常见的C接口的库,个人觉得易用。以下是AES加密的使用备忘。如果你有一定的密码学基础,那么就很好理解。代码是从网上弄下来的(原始地址已经忘记了),然后在尝试的过程中改了一点东西。其它的cbccfbecb加密方式的用法都是类似的,只是函数名有点区别,就不一一列举了。

一、接口简介

//设置加密密钥,使用字符缓冲区

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);

 待续。。。

原文地址:https://www.cnblogs.com/edver/p/7749517.html