OpenSSL 库AES加密算法(包括ECB模式和CBC模式)和RC4加密算法简单使用

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其中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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值