我是Cryptopp的新手,我想对文本和解码进行编码以了解它是如何工作的.
编码部分工作正常,但我无法解码字符串?始终解码的字符串为空.我在Crypto邮件中询问过,有人说这段代码应该有效,但事实并非如此.
我想知道出了什么问题.
作为加密新手,我看不出有什么问题.
编码:
std::string encoded = m_pkey->GetValue().ToStdString();//here under debugger its ok
std::string decoded;
CryptoPP::StringSource(encoded, true, new CryptoPP::HexDecoder(new CryptoPP::StringSink(decoded)));
解决方法:
Crypto wiki有很多例子,包括使用HexEncoder和HexDecoder类.
来自维基:
byte decoded[] = { 0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAA, 0x99, 0x88,
0x77, 0x66, 0x55, 0x44, 0x33, 0x22, 0x11, 0x00 };
string encoded;
StringSource ss(decoded, sizeof(decoded), true,
new HexEncoder(
new StringSink(encoded)
) // HexEncoder
); // StringSource
cout << encoded << endl;
...
$./cryptopp-test.exe
FFEEDDCCBBAA99887766554433221100