case 2:
cout << "Hai scelto 2 --> decriptare\n";
programma.apri_file();
if (fdc)
{
fgets(messaggiou, 1000, fdc);
cout << ("testo da decriptare: ")
<< ("%s", messaggiou); //qui stampa a schermo la stringa ancora criptata ok!
char *messaggiou;
messaggiou = (char*)malloc(encoded.length() + 1); // don't forget to free!!!!
//s2 = Database_row_count; // I forget if the string class can implicitly be converted to char*
//s2[0] = '1';
strcpy(messaggiou, encoded.c_str());
const char* hex_str = messaggiou;
std::string result_string;
unsigned int ch;
for (; std::sscanf(hex_str, "%2x", &ch) == 1; hex_str += 2)
result_string += ch;
cout << "Da HEX FORM a Testo cifrato :: ";
std::cout << result_string << '\n';
cout << endl;
/*********************************\
\*********************************/
CryptoPP::AES::Decryption aesDecryption((byte *)key.c_str(), CryptoPP::AES::DEFAULT_KEYLENGTH);
CryptoPP::CBC_Mode_ExternalCipher::Decryption cbcDecryption(aesDecryption, (byte *)iv.c_str());
CryptoPP::StreamTransformationFilter stfDecryptor(cbcDecryption, new CryptoPP::StringSink(decryptedtext));
stfDecryptor.Put(reinterpret_cast<const unsigned char*>(result_string.c_str()), result_string.size());
stfDecryptor.MessageEnd();
std::cout << "Testo Decriptato: " << decryptedtext << "\n" << std::endl;
Beep(900, 100);
Beep(900, 100);
Beep(900, 100);
}
Mi da questo errore (Debug error! Abort() has been called) su questa porzione di codice.
Visto che sto cercando di implementarla e non l'ho scritto io, volevo vedere se voi riuscite a dirmi dove sta l'errore
P.s fino al mio primo commento il codice sicuramente non causa l'errore.