crypto++ des算法的使用

(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)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值