Add support for Twofish in KeePass2 code

This commit is contained in:
Timothy Redaelli 2015-08-04 15:18:41 +02:00 committed by Janek Bevendorff
parent a3fd3205a9
commit a01607e869
No known key found for this signature in database
GPG key ID: CFEC2F6850BFFA53
5 changed files with 29 additions and 4 deletions

View file

@ -118,7 +118,7 @@ Database* KeePass2Reader::readDatabase(QIODevice* device, const CompositeKey& ke
hash.addData(m_db->transformedMasterKey());
QByteArray finalKey = hash.result();
SymmetricCipherStream cipherStream(m_device, SymmetricCipher::Aes256,
SymmetricCipherStream cipherStream(m_device, SymmetricCipher::cipherToAlgorithm(m_db->cipher()),
SymmetricCipher::Cbc, SymmetricCipher::Decrypt);
if (!cipherStream.init(finalKey, m_encryptionIV)) {
raiseError(cipherStream.errorString());
@ -330,7 +330,7 @@ void KeePass2Reader::setCipher(const QByteArray& data)
else {
Uuid uuid(data);
if (uuid != KeePass2::CIPHER_AES) {
if (uuid != KeePass2::CIPHER_AES && uuid != KeePass2::CIPHER_TWOFISH) {
raiseError("Unsupported cipher");
}
else {