Hi, I have a problem I trying to rewrite the function from C # to Qt/C++, but my code does not work properly.
Old C# code (oryginal)
DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
MemoryStream stream = new MemoryStream(Convert.FromBase64String(inputString));
CryptoStream stream2 = new CryptoStream(stream, dESCryptoServiceProvider.CreateDecryptor(Encoding.ASCII.GetBytes("29A15767"),
Encoding.UTF32.GetBytes("428848EDEBA04AF4C4D04F5ADCF0305A")), CryptoStreamMode.Read);
StreamReader streamReader = new StreamReader(stream2);
string text = streamReader.ReadToEnd();
DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
MemoryStream stream = new MemoryStream(Convert.FromBase64String(inputString));
CryptoStream stream2 = new CryptoStream(stream, dESCryptoServiceProvider.CreateDecryptor(Encoding.ASCII.GetBytes("29A15767"),
Encoding.UTF32.GetBytes("428848EDEBA04AF4C4D04F5ADCF0305A")), CryptoStreamMode.Read);
StreamReader streamReader = new StreamReader(stream2);
string text = streamReader.ReadToEnd();
To copy to clipboard, switch view to plain text mode
My code:
DES_cblock key;
DES_cblock iv;
memcpy(key, "29A15767", 8);
memcpy(iv, "428848EDEBA04AF4C4D04F5ADCF0305A", 32);
QByteArray encrypted
= stringToDecrypt.
toLatin1();
unsigned char decrypted[encrypted.size()];
DES_key_schedule schedule;
DES_set_odd_parity(&key);
DES_set_key_checked(&key, &schedule);
DES_ncbc_encrypt((unsigned char *)encrypted.constData(), (unsigned char *)decrypted, encrypted.size(), &schedule, &iv, DES_DECRYPT);
DES_cblock key;
DES_cblock iv;
memcpy(key, "29A15767", 8);
memcpy(iv, "428848EDEBA04AF4C4D04F5ADCF0305A", 32);
QString stringToDecrypt .....
QByteArray encrypted = stringToDecrypt.toLatin1();
encrypted = QByteArray::fromBase64(encrypted);
unsigned char decrypted[encrypted.size()];
DES_key_schedule schedule;
DES_set_odd_parity(&key);
DES_set_key_checked(&key, &schedule);
DES_ncbc_encrypt((unsigned char *)encrypted.constData(), (unsigned char *)decrypted, encrypted.size(), &schedule, &iv, DES_DECRYPT);
QString text = QByteArray::fromRawData((char *)decrypted, encrypted.size());
To copy to clipboard, switch view to plain text mode
Any suggestions ?
Regards
Bookmarks