QMessageAuthenticationCode Class
The QMessageAuthenticationCode class provides a way to generate hash-based message authentication codes. More...
| Header: | #include <QMessageAuthenticationCode> | 
| qmake: | QT += core | 
| Since: | Qt 5.1 | 
Note: All functions in this class are reentrant.
Public Functions
| QMessageAuthenticationCode(QCryptographicHash::Algorithm method, const QByteArray &key = QByteArray()) | |
| ~QMessageAuthenticationCode() | |
| void | addData(const char *data, int length) | 
| void | addData(const QByteArray &data) | 
| bool | addData(QIODevice *device) | 
| void | reset() | 
| QByteArray | result() const | 
| void | setKey(const QByteArray &key) | 
Static Public Members
| QByteArray | hash(const QByteArray &message, const QByteArray &key, QCryptographicHash::Algorithm method) | 
Detailed Description
The QMessageAuthenticationCode class provides a way to generate hash-based message authentication codes.
QMessageAuthenticationCode supports all cryptographic hashes which are supported by QCryptographicHash.
To generate message authentication code, pass hash algorithm QCryptographicHash::Algorithm to constructor, then set key and message by setKey() and addData() functions. Result can be acquired by result() function.
      QByteArray key = "key";
      QByteArray message = "The quick brown fox jumps over the lazy dog";
      ...
      QMessageAuthenticationCode code(QCryptographicHash::Sha1);
      code.setKey(key);
      code.addData(message);
      code.result().toHex();      // returns "de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9"
Alternatively, this effect can be achieved by providing message, key and method to hash() method.
      QMessageAuthenticationCode::hash(message, key, QCryptographicHash::Sha1).toHex();
See also QCryptographicHash.
Member Function Documentation
QMessageAuthenticationCode::QMessageAuthenticationCode(QCryptographicHash::Algorithm method, const QByteArray &key = QByteArray())
Constructs an object that can be used to create a cryptographic hash from data using method method and key key.
QMessageAuthenticationCode::~QMessageAuthenticationCode()
Destroys the object.
void QMessageAuthenticationCode::addData(const char *data, int length)
Adds the first length chars of data to the message.
void QMessageAuthenticationCode::addData(const QByteArray &data)
This function overloads addData().
bool QMessageAuthenticationCode::addData(QIODevice *device)
Reads the data from the open QIODevice device until it ends and adds it to message. Returns true if reading was successful.
Note: device must be already opened.
[static] QByteArray QMessageAuthenticationCode::hash(const QByteArray &message, const QByteArray &key, QCryptographicHash::Algorithm method)
Returns the authentication code for the message message using the key key and the method method.
void QMessageAuthenticationCode::reset()
Resets message data. Calling this method doesn't affect the key.
QByteArray QMessageAuthenticationCode::result() const
Returns the final authentication code.
See also QByteArray::toHex().
void QMessageAuthenticationCode::setKey(const QByteArray &key)
Sets secret key. Calling this method automatically resets the object state.