首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

AES加密的有关问题

2013-02-24 
AES加密的问题请教一下,使用AES cbc模式加密的时候,明文和密文的长度的关系是怎么样的?[解决办法]长度相等

AES加密的问题
请教一下,使用AES cbc模式加密的时候,明文和密文的长度的关系是怎么样的?
[解决办法]
长度相等!
[解决办法]
是一致的
[解决办法]

#pragma once

#include <Windows.h>
#include <WinCrypt.h>

#define MAKE_KEYLENGTH(len)\
(len<<0x10)
//AES算法封装类
class CAESAlg
{
public:
CAESAlg(void);
public:
virtual ~CAESAlg(void);
public:
// 初始化
BOOL Init(PBYTE pbPassword, DWORD dwLen, DWORD dwBlockSize=128);
// 加密函数
BOOL Encrypt(PBYTE pBuffer, DWORD dwBufferSize, LPDWORD pdwDataLen);
// 解密函数
BOOL Decrypt(PBYTE pData, LPDWORD pdwDataLen);
private:
// CSP对象的句柄
HCRYPTPROV _hCryptProc;
// 加密解密密钥
HCRYPTKEY _hKey;
// 块大小
DWORD _dwBlockSize;

};

#include "StdAfx.h"
#include "AESAlg.h"

CAESAlg::CAESAlg(void)
: _dwBlockSize(16),
_hCryptProc(NULL),
_hKey(NULL)
{
}

CAESAlg::~CAESAlg(void)
{
if(_hKey)
{
CryptDestroyKey(_hKey);
_hKey=NULL;
}
if (_hCryptProc)
{
CryptReleaseContext(_hCryptProc,0);
_hCryptProc=NULL;
}
}



热点排行