其中OpenSSL库需要包含libcrypto.lib,以下什么都不说了直接上代码:
先说结论吧:RC4加密效率最高,其次是AES CBC模式,最后是AES ECB模式
其中AES ECB模式每次只能加密16个字节,如果数据量很大需要每次都加密16字节,其中还必须字节对齐。
#include <iostream>
#include <stdio.h>
#include <string>
#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>
#include <boost/filesystem/operations.hpp>
#include <iostream>
#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>
#include <openssl/aes.h>
#include <openssl/rc4.h>
#include <arch/os.h>
//#define _ECB_AES_
//#define _CBC_AES_
//#define _AES_
#define _RC4_
using namespace std;
class MyAES{
private:
AES_KEY aes_encrypt_key;
AES_KEY aes_decrypt_key;
unsigned char ivec[AES_BLOCK_SIZE]; //这个需要多次初始化,运行一次加密解密都要初始化一次而且加密解密的ivec必须一样
public:
unsigned int AesSetEncryptKey(const unsigned char *userKey, const int bits)
{
return AES_set_encrypt_key(userKey,bits,&aes_encrypt_ke

本文介绍了OpenSSL库中AES加密算法的ECB和CBC模式以及RC4加密算法的简单使用。根据测试,RC4加密速度最快,然后是AES的CBC模式,最慢的是AES的ECB模式。在使用AES ECB模式时需要注意,每次只能加密16字节且数据需字节对齐。
最低0.47元/天 解锁文章
3052

被折叠的 条评论
为什么被折叠?



