Проблема декодирования plantext с использованием HMAC crypto++
всем привет
Я столкнулся с проблемой использования HMAC библиотеки cryptopp в разделе декодирования.
Я использовал текучий код для кодирования planText и он работает нормально
этот код описан в этой ссылке [Алгоритм шифрования Вики++ [^]]
AutoSeededRandomPool prng; SecByteBlock key(16); prng.GenerateBlock(key, key.size()); string plain = "HMAC Test"; string mac, encoded; /*********************************\ \*********************************/ // Pretty print key encoded.clear(); StringSource ss1(key, key.size(), true, new HexEncoder( new StringSink(encoded) ) // HexEncoder ); // StringSource cout << "key: " << encoded << endl; cout << "plain text: " << plain << endl; /*********************************\ \*********************************/ try { HMAC< SHA256 > hmac(key, key.size()); StringSource ss2(plain, true, new HashFilter(hmac, new StringSink(mac) ) // HashFilter ); // StringSource } catch (const CryptoPP::Exception& e) { cerr << e.what() << endl; exit(1); } /*********************************\ \*********************************/ // Pretty print encoded.clear(); StringSource ss3(mac, true, new HexEncoder( new StringSink(encoded) ) // HexEncoder ); // StringSource cout << "hmac: " << encoded << endl;
Что я уже пробовал:
теперь для расшифровки, что на другой стороне
Я прочитал эту ссылку, но она мне не помогла HexDecoder - Crypto++ Wiki[^]
и этот раздел не возвращает открытый текст
string decoded; StringSource ss(encoded, true, new HexDecoder( new StringSink(decoded) ) // HexDecoder );
Буду очень благодарен за любой совет