C++实现AES加密

参考 https://zhuanlan.zhihu.com/p/567141666

本人开发环境:vs2022,平台工具集vs2015(v140)
要做到的如下图 image

需要下载Cryptopphttps://github.com/weidai11/cryptopp
打开默认工程,生成即可,选择cryptlib项目点击生成,产生头文件和lib文件

实现代码:

#include <Cryptopp/aes.h>
#include <Cryptopp/filters.h>
#include <Cryptopp/modes.h>
#include <Cryptopp/base64.h>

using namespace std;
using namespace CryptoPP;

string EncryptUtil::AES_encrypt(const char* key, string& content)
{
    string cipher;
    try {
        ECB_Mode< AES >::Encryption	ecb_encription((const unsigned char*)key, 16);
        StringSource(content, true,
            new StreamTransformationFilter(ecb_encription,
                new Base64Encoder(new StringSink(cipher)),
                BlockPaddingSchemeDef::PKCS_PADDING));
    }
    catch (const Exception& e) {
        cout << e.what() << endl;
    }
    return cipher;
}

posted @   SpringBreath  阅读(444)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示