资源简介
AES_allmode.rar

代码片段和文件信息
// aestest2.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include // StreamTransformationFilter
#include // CFB_Mode
#include // std:cerr
#include // std::stringstream
#include
using namespace std;
using namespace CryptoPP;
#pragma comment( lib “cryptlib.lib“ )
std::string ECB_AESEncryptStr(std::string sKey const char *plainText)
{
std::string outstr;
//填key
SecByteBlock key(AES::MAX_KEYLENGTH);
memset(key0x30key.size() );
sKey.size()<=AES::MAX_KEYLENGTH?memcpy(keysKey.c_str()sKey.size()):memcpy(keysKey.c_str()AES::MAX_KEYLENGTH);
AES::Encryption aesEncryption((byte *)key AES::MAX_KEYLENGTH);
ECB_Mode_ExternalCipher::Encryption ecbEncryption(aesEncryption);
StreamTransformationFilter ecbEncryptor(ecbEncryption new HexEncoder(new StringSink(outstr)));
ecbEncryptor.Put((byte *)plainText strlen(plainText));
ecbEncryptor.MessageEnd();
return outstr;
}
std::string ECB_AESDecryptStr(std::string sKey const char *cipherText)
{
std::string outstr;
//填key
SecByteBlock key(AES::MAX_KEYLENGTH);
memset(key0x30key.size() );
sKey.size()<=AES::MAX_KEYLENGTH?memcpy(keysKey.c_str()sKey.size()):memcpy(keysKey.c_str()AES::MAX_KEYLENGTH);
ECB_Mode::Decryption ecbDecryption((byte *)key AES::MAX_KEYLENGTH);
HexDecoder decryptor(new StreamTransformationFilter(ecbDecryption new StringSink(outstr)));
decryptor.Put((byte *)cipherText strlen(cipherText));
decryptor.MessageEnd();
return outstr;
}
std::string CBC_AESEncryptStr(std::string sKey std::string sIV const char *plainText)
{
std::string outstr;
//填key
SecByteBlock key(AES::MAX_KEYLENGTH);
memset(key0x30key.size() );
sKey.size()<=AES::MAX_KEYLENGTH?memcpy(keysKey.c_str()sKey.size()):memcpy(keysKey.c_str()AES::MAX_KEYLENGTH);
//填iv
byte iv[AES::BLOCKSIZE];
memset(iv0x30AES::BLOCKSIZE);
sIV.size()<=AES::BLOCKSIZE?memcpy(ivsIV.c_str()sIV.size()):memcpy(ivsIV.c_str()AES::BLOCKSIZE);
AES::Encryption aesEncryption((byte *)key AES::MAX_KEYLENGTH);
CBC_Mode_ExternalCipher::Encryption cbcEncryption(aesEncryption iv);
StreamTransformationFilter cbcEncryptor(cbcEncryption new HexEncoder(new StringSink(outstr)));
cbcEncryptor.Put((byte *)plainText strlen(plainText));
cbcEncryptor.MessageEnd();
return outstr;
}
std::string CBC_AESDecryptStr(std::string sKey std::string sIV const char *cipherText)
{
std::string outstr;
//填key
SecByteBlock key(AES::MAX_KEYLENGTH);
memset(key0x30key.size() );
sKey.size()<=AES::MAX_KEY
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14106 2013-03-31 20:25 aestest2\aestest2\aestest2.cpp
文件 4638 2013-03-29 21:57 aestest2\aestest2\aestest2.vcxproj
文件 1312 2013-03-29 21:49 aestest2\aestest2\aestest2.vcxproj.filters
文件 143 2013-03-29 21:49 aestest2\aestest2\aestest2.vcxproj.user
文件 1560 2013-03-29 21:49 aestest2\aestest2\ReadMe.txt
文件 213 2013-03-29 21:49 aestest2\aestest2\stdafx.cpp
文件 233 2013-03-29 21:49 aestest2\aestest2\stdafx.h
文件 236 2013-03-29 21:49 aestest2\aestest2\targetver.h
文件 891 2013-03-29 21:49 aestest2\aestest2.sln
..A..H. 11776 2013-03-31 20:25 aestest2\aestest2.suo
文件 1807360 2013-03-31 20:25 aestest2\Debug\aestest2.exe
目录 0 2013-03-31 20:26 aestest2\aestest2
目录 0 2013-03-31 20:26 aestest2\Debug
目录 0 2013-03-31 20:26 aestest2
----------- --------- ---------- ----- ----
1842468 14
- 上一篇:串口调试助手2.3
- 下一篇:《旅游公司综合信息管理系统》需求规格说明书
相关资源
- Source Insight 4.0.0080破解文件 替换lic
- Apk加固Demo
- VMware Workstation Pro 15 注册机
- HumanDet(公交车系统模式识别)
- 基于89C51的智能台灯
- 计算机数值分析.rar
- 水晶排课 11.53 破解版
- 51智能排课系统大课表版v5.1.3中文免费
- 用友U8新引入帐套后固定资产模块出错
- Beginning STM32: Developing with FreeRTOS libo
- 土木工程毕业设计(得了95分)
- 土木工程毕业设计 -大连理工大学
- 八重州 7800电路图 高清版
- PalmOS一些常识
- Palm OS应用程序设计指南
- Palm OS基础入门
- 通信原理第七版课后答案樊昌信.doc
- ALIENTEK战舰STM32F1 V3开发板原理图.rar
- [软件工程—实践者的研究方法].Roge
- pdfbox所需jar包
- Win98Dos启动盘的盘镜像纯净版
- DOS98.IMG启动文件
- Trojan-Qt5-Windows-0.0.4.rar
- 数字电路知识点汇总(精华版).doc
- SpringMVC文件上传与的实现.rar
- PID_AutoTune_v0.rar
- vspd7.2.308.zip
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
评论
共有 条评论