使用AES开始加密++解密

时间:2012-07-08 21:53:08

标签: c++ encryption cryptography aes crypto++

我正在尝试学习一些有关密码学的知识,并尝试在c ++中使用带有crypto ++库的AES解密。我有一个密文字符串和一个密钥字符串。使用这两个,我想解密这个密文。这是我的代码:

#include "mycrypto.h"
#include <stdio.h>
#include <cstdlib>
#include <string>

#include <aes.h>
#include <config.h>
#include <hex.h>
#include <files.h>
#include <cryptlib.h>
#include <modes.h>
#include <osrng.h>
#include <filters.h>
#include <sha.h>
#include <rijndael.h>


using namespace std;
using namespace CryptoPP;

int main()
{

    string myPlainText;
    string myKey = "140b41";
    string myCipherText = "4ca00f";

    byte key[AES::DEFAULT_KEYLENGTH];
    byte iv[AES::BLOCKSIZE];

    CryptoPP::CBC_Mode<AES>::DECRYPTION decryptor;
    decryptor.SetKeyWithIV(key, sizeof(key), iv);

    StringSource(myCipherText, true, new StreamTransformationFilter( decryptor, new StringSink(myPlainText)));

    return 0;
}

我在这段代码中遇到了一些错误。最直接的是这一个:

  

'DECRYPTION'不是'CryptoPP :: CBC_Mode'的成员

任何人都可以使用此代码理顺我。我一直都在加密++文档,但我看不出我做错了什么。

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为DECRYPTION拼写为Decryption。至少,这就是它在this example中的显示方式。