diff options
Diffstat (limited to 'src/crypto/kdf/AesKdf.cpp')
-rw-r--r-- | src/crypto/kdf/AesKdf.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/crypto/kdf/AesKdf.cpp b/src/crypto/kdf/AesKdf.cpp index 3177506fc..d668652aa 100644 --- a/src/crypto/kdf/AesKdf.cpp +++ b/src/crypto/kdf/AesKdf.cpp @@ -27,6 +27,31 @@ AesKdf::AesKdf() { } +bool AesKdf::processParameters(const QVariantMap &p) +{ + bool ok; + int rounds = p.value(KeePass2::KDFPARAM_AES_ROUNDS).toInt(&ok); + if (!ok || !setRounds(rounds)) { + return false; + } + + QByteArray seed = p.value(KeePass2::KDFPARAM_AES_SEED).toByteArray(); + if (!setSeed(seed)) { + return false; + } + + return true; +} + +QVariantMap AesKdf::writeParameters() +{ + QVariantMap p; + p.insert(KeePass2::KDFPARAM_UUID, KeePass2::KDF_AES.toByteArray()); + p.insert(KeePass2::KDFPARAM_AES_ROUNDS, rounds()); + p.insert(KeePass2::KDFPARAM_AES_SEED, seed()); + return p; +} + bool AesKdf::transform(const QByteArray& raw, QByteArray& result) const { QByteArray resultLeft; |