mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-12-16 00:44:17 -05:00
Move key transform() call into Database.
This commit is contained in:
parent
fd9685037b
commit
6afda908bc
4 changed files with 17 additions and 17 deletions
|
|
@ -64,12 +64,11 @@ Database* KeePass2Reader::readDatabase(QIODevice* device, const CompositeKey& ke
|
|||
|
||||
// TODO check if all header fields have been parsed
|
||||
|
||||
QByteArray transformedMasterKey = key.transform(m_db->transformSeed(), m_db->transformRounds());
|
||||
m_db->setTransformedMasterKey(transformedMasterKey);
|
||||
m_db->setKey(key, m_transformSeed);
|
||||
|
||||
CryptoHash hash(CryptoHash::Sha256);
|
||||
hash.addData(m_masterSeed);
|
||||
hash.addData(transformedMasterKey);
|
||||
hash.addData(m_db->transformedMasterKey());
|
||||
QByteArray finalKey = hash.result();
|
||||
|
||||
SymmetricCipherStream cipherStream(device, SymmetricCipher::Aes256, SymmetricCipher::Cbc, SymmetricCipher::Decrypt, finalKey, m_encryptionIV);
|
||||
|
|
@ -261,7 +260,7 @@ void KeePass2Reader::setTransformSeed(const QByteArray& data)
|
|||
raiseError("");
|
||||
}
|
||||
else {
|
||||
m_db->setTransformSeed(data);
|
||||
m_transformSeed = data;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ private:
|
|||
|
||||
Database* m_db;
|
||||
QByteArray m_masterSeed;
|
||||
QByteArray m_transformSeed;
|
||||
QByteArray m_encryptionIV;
|
||||
QByteArray m_streamStartBytes;
|
||||
QByteArray m_protectedStreamKey;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue