Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
qxthmac.h
Go to the documentation of this file.
1/****************************************************************************
2 **
3 ** Copyright (C) Qxt Foundation. Some rights reserved.
4 **
5 ** This file is part of the QxtCore module of the Qxt library.
6 **
7 ** This library is free software; you can redistribute it and/or modify it
8 ** under the terms of the Common Public License, version 1.0, as published
9 ** by IBM, and/or under the terms of the GNU Lesser General Public License,
10 ** version 2.1, as published by the Free Software Foundation.
11 **
12 ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
13 ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
14 ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
15 ** FITNESS FOR A PARTICULAR PURPOSE.
16 **
17 ** You should have received a copy of the CPL and the LGPL along with this
18 ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
19 ** included with the source distribution for more information.
20 ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
21 **
22 ** <http://libqxt.org> <foundation@libqxt.org>
23 **
24 ****************************************************************************/
25
26#ifndef QXTHMAC_H
27#define QXTHMAC_H
28
29#include <QtGlobal>
30#include <QCryptographicHash>
31#include "qxtglobal.h"
32
33class QxtHmacPrivate;
35{
36public:
37 typedef QCryptographicHash::Algorithm Algorithm;
38
39 QxtHmac(QCryptographicHash::Algorithm algorithm);
40
41 void setKey(QByteArray key);
42 void reset();
43
44 void addData(const char* data, int length);
45 void addData(const QByteArray& data);
46
47 QByteArray innerHash() const;
48 QByteArray result();
49 bool verify(const QByteArray& otherInner);
50
51 static QByteArray hash(const QByteArray& key, const QByteArray& data, Algorithm algorithm);
52 static bool verify(const QByteArray& key, const QByteArray& hmac, const QByteArray& inner, Algorithm algorithm);
53
54private:
56};
57
58#endif
Definition qxthmac.cpp:56
void setKey(QByteArray key)
Definition qxthmac.cpp:89
bool verify(const QByteArray &otherInner)
Definition qxthmac.cpp:154
QByteArray innerHash() const
Definition qxthmac.cpp:128
QxtHmac(QCryptographicHash::Algorithm algorithm)
Definition qxthmac.cpp:76
void addData(const char *data, int length)
Definition qxthmac.cpp:167
static QByteArray hash(const QByteArray &key, const QByteArray &data, Algorithm algorithm)
Definition qxthmac.cpp:189
QByteArray result()
Definition qxthmac.cpp:136
QCryptographicHash::Algorithm Algorithm
Definition qxthmac.h:37
void reset()
Definition qxthmac.cpp:113
#define QXT_CORE_EXPORT
Definition qxtglobal.h:52
#define QXT_DECLARE_PRIVATE(PUB)
Definition qxtglobal.h:145