CryptoBuffer CommonCryptoCipher::DecryptBuffer(const CryptoBuffer& encryptedData) { if (m_failure) { AWS_LOGSTREAM_FATAL(CC_LOG_TAG, "Cipher not properly initialized for decryption. Aborting"); return CryptoBuffer(); } CheckInitDecryptor(); size_t lengthWritten = encryptedData.GetLength() + (GetBlockSizeBytes() - 1); CryptoBuffer decryptedText(static_cast<size_t>(lengthWritten)); CCStatus status = CCCryptorUpdate(m_cryptoHandle, encryptedData.GetUnderlyingData(), encryptedData.GetLength(), decryptedText.GetUnderlyingData(), decryptedText.GetLength(), &lengthWritten); if (status != kCCSuccess) { m_failure = true; AWS_LOGSTREAM_ERROR(CC_LOG_TAG, "Decryption of buffer failed with status code: " << status); return CryptoBuffer(); } if (lengthWritten < decryptedText.GetLength()) { return CryptoBuffer(decryptedText.GetUnderlyingData(), static_cast<size_t>(lengthWritten)); } return decryptedText; }
void VigenereCipherTab::decryptText() { if(ui->txtKey->text().length() == 0) return; QString dText = Cipher::vigenereDecrypt(mEncryptText, ui->txtKey->text()); emit decryptedText(dText); }