Add support for various algorithms for kdbx4

* Add SHA512 support to CryptoHash
* Add ChaCha20 support
* Add HMAC support
* Add new HmacBlockStream, used in KDBX 4
* Add support for ChaCha20 protected stream
This commit is contained in:
angelsl
2017-11-13 02:23:01 +08:00
committed by Jonathan White
parent 4532108678
commit 6a0d05e1ef
23 changed files with 616 additions and 25 deletions

View File

@@ -21,6 +21,7 @@
#include <QCoreApplication>
#include "keys/CompositeKey.h"
#include "format/KeePass2.h"
class Database;
class QIODevice;
@@ -38,6 +39,7 @@ public:
void setSaveXml(bool save);
QByteArray xmlData();
QByteArray streamKey();
KeePass2::ProtectedStreamAlgo protectedStreamAlgo() const;
private:
void raiseError(const QString& errorMessage);
@@ -67,6 +69,7 @@ private:
QByteArray m_encryptionIV;
QByteArray m_streamStartBytes;
QByteArray m_protectedStreamKey;
KeePass2::ProtectedStreamAlgo m_irsAlgo;
};
#endif // KEEPASSX_KEEPASS2READER_H