Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/crypto/kdf/AesKdf.cpp')
-rw-r--r--src/crypto/kdf/AesKdf.cpp25
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;