28 #ifndef dooble_cryptography_h
29 #define dooble_cryptography_h
46 static int s_authentication_key_length;
47 static int s_encryption_key_length;
49 const QByteArray &encryption_key,
50 const QString &block_cipher_type,
51 const QString &hash_type);
53 const QString &hash_type);
55 QByteArray encrypt_then_mac(
const QByteArray &data)
const;
56 QByteArray hmac(
const QByteArray &message)
const;
57 QByteArray hmac(
const QString &message)
const;
58 QByteArray mac_then_decrypt(
const QByteArray &data)
const;
59 QPair<QByteArray, QByteArray> keys(
void)
const;
60 bool as_plaintext(
void)
const;
61 bool authenticated(
void)
const;
62 static bool memcmp(
const QByteArray &a,
const QByteArray &b);
63 static void memzero(QByteArray &bytes);
64 static void memzero(QString &text);
65 void authenticate(
const QByteArray &salt,
66 const QByteArray &salted_password,
67 const QString &password);
68 void set_authenticated(
bool state);
69 void set_block_cipher_type(
const QString &block_cipher_type);
70 void set_hash_type(
const QString &hash_type);
71 void set_keys(
const QByteArray &authentication_key,
72 const QByteArray &encryption_key);
75 QByteArray m_authentication_key;
76 QByteArray m_encryption_key;
77 QString m_block_cipher_type;
80 dooble_cryptography::HashTypes m_hash_type;
Definition: dooble_cryptography.h:36