在VC++ 2005 中学着别人的代码尝试AES加解密,代码如下:// Key and IV setup
byte key[ CryptoPP::AES::DEFAULT_KEYLENGTH ],
iv[ CryptoPP::AES::BLOCKSIZE ]; ::memset( key, 0x01, CryptoPP::AES::DEFAULT_KEYLENGTH );
::memset( iv, 0x01, CryptoPP::AES::BLOCKSIZE ); // Encryptor
CryptoPP::CBC_Mode<CryptoPP::AES>::Encryption
Encryptor( key, sizeof(key), iv ); // Message M
std::string PlainText = "Hello World";
std::string EncodedText;
// Create Cipher Text
CryptoPP::StringSource( PlainText, true,
new CryptoPP::StreamTransformationFilter( Encryptor,
new CryptoPP::Base32Encoder(
new CryptoPP::StringSink( EncodedText )
) // Base32Encoder
) // StreamTransformationFilter
); // StringSource在运行时,出现异常:LicManager.exe 中的 0x7c812a5b 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012dd20 处的 std::bad_alloc。好像是没有进行内存分配。
请教错在了哪里??
byte key[ CryptoPP::AES::DEFAULT_KEYLENGTH ],
iv[ CryptoPP::AES::BLOCKSIZE ]; ::memset( key, 0x01, CryptoPP::AES::DEFAULT_KEYLENGTH );
::memset( iv, 0x01, CryptoPP::AES::BLOCKSIZE ); // Encryptor
CryptoPP::CBC_Mode<CryptoPP::AES>::Encryption
Encryptor( key, sizeof(key), iv ); // Message M
std::string PlainText = "Hello World";
std::string EncodedText;
// Create Cipher Text
CryptoPP::StringSource( PlainText, true,
new CryptoPP::StreamTransformationFilter( Encryptor,
new CryptoPP::Base32Encoder(
new CryptoPP::StringSink( EncodedText )
) // Base32Encoder
) // StreamTransformationFilter
); // StringSource在运行时,出现异常:LicManager.exe 中的 0x7c812a5b 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012dd20 处的 std::bad_alloc。好像是没有进行内存分配。
请教错在了哪里??
Crypto++大家用的不多吗?