(1)增加头文件
#include "../../vc_crypto/modes.h"
#include "../../vc_crypto/des.h"
#include "../../vc_crypto/cryptlib.h"
(2)加入namespace
using namespace CryptoPP;
(3)写函数
void DES_Process(const char *keyString, byte *block, size_t length, CryptoPP::CipherDir direction)
{
using namespace CryptoPP;
byte key[DES::KEYLENGTH];
memcpy(key, keyString, DES::KEYLENGTH);
BlockTransformation *t = NULL;
if(direction == ENCRYPTION)
t = new DESEncryption(key);
else
t = new DESDecryption(key);
int steps = length / t->BlockSize();
for(int i=0; i<steps; i++){
int offset = i * t->BlockSize();
t->ProcessBlock(block + offset);
}
delete t;
}
前面有文章写过关于DES -EDE2的内容,也可以作为参考
只不过当时是使用在linux 系统上的。
(4)加入库文件
cryptlib.lib
编译环境为vc6.0,使用的库版本是
Crypto++: a C++ Class Library of Cryptographic Schemes
Version 5.6.1 (8/9/2010, SVN r520)