KDECore
#include <kcodecs.h>
Public Types | |
typedef unsigned char | Digest [16] |
Public Member Functions | |
KMD5 () | |
KMD5 (const char *in, int len=-1) | |
KMD5 (const QByteArray &a) | |
~KMD5 () | |
QByteArray | base64Digest () |
QByteArray | hexDigest () |
void | hexDigest (QByteArray &) |
const Digest & | rawDigest () |
void | rawDigest (KMD5::Digest &bin) |
void | reset () |
void | update (const char *in, int len=-1) |
void | update (const unsigned char *in, int len=-1) |
void | update (const QByteArray &in) |
bool | update (QIODevice &file) |
bool | verify (const KMD5::Digest &digest) |
bool | verify (const QByteArray &) |
Protected Member Functions | |
void | finalize () |
void | transform (const unsigned char buffer[64]) |
Detailed Description
An adapted C++ implementation of RSA Data Securities MD5 algorithm.
The default constructor is designed to provide much the same functionality as the most commonly used C-implementation, while the other three constructors are meant to further simplify the process of obtaining a digest by calculating the result in a single step.
KMD5 is state-based, that means you can add new contents with update() as long as you didn't request the digest value yet. After the digest value was requested, the object is "finalized" and you have to call reset() to be able to do another calculation with it. The reason for this behavior is that upon requesting the message digest KMD5 has to pad the received contents up to a 64 byte boundary to calculate its value. After this operation it is not possible to resume consuming data.
Usage:
A common usage of this class:
To cut down on the unnecessary overhead of creating multiple KMD5 objects, you can simply invoke reset() to reuse the same object in making another calculation:
Member Typedef Documentation
Constructor & Destructor Documentation
KMD5::KMD5 | ( | ) |
Definition at line 741 of file kcodecs.cpp.
KMD5::~KMD5 | ( | ) |
Definition at line 758 of file kcodecs.cpp.
|
explicit |
Constructor that updates the digest for the given string.
- Parameters
-
in C string or binary data len if negative, calculates the length by using strlen on the first parameter, otherwise it trusts the given length (does not stop on NUL byte).
Definition at line 746 of file kcodecs.cpp.
|
explicit |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Same as above except it accepts a QByteArray as its argument.
Definition at line 752 of file kcodecs.cpp.
Member Function Documentation
QByteArray KMD5::base64Digest | ( | ) |
Returns the value of the calculated message digest in a base64-encoded representation.
Definition at line 910 of file kcodecs.cpp.
|
protected |
finalizes the digest
Definition at line 826 of file kcodecs.cpp.
QByteArray KMD5::hexDigest | ( | ) |
Returns the value of the calculated message digest in a hexadecimal representation.
Definition at line 887 of file kcodecs.cpp.
void KMD5::hexDigest | ( | QByteArray & | s | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 900 of file kcodecs.cpp.
const KMD5::Digest & KMD5::rawDigest | ( | ) |
- Returns
- the raw representation of the digest
Definition at line 874 of file kcodecs.cpp.
void KMD5::rawDigest | ( | KMD5::Digest & | bin | ) |
Fills the given array with the binary representation of the message digest.
Use this method if you do not want to worry about making copy of the digest once you obtain it.
- Parameters
-
bin an array of 16 characters ( char[16] )
Definition at line 880 of file kcodecs.cpp.
void KMD5::reset | ( | ) |
Calling this function will reset the calculated message digest.
Use this method to perform another message digest calculation without recreating the KMD5 object.
Definition at line 922 of file kcodecs.cpp.
|
protected |
Performs the real update work.
Note that length is implied to be 64.
Definition at line 938 of file kcodecs.cpp.
void KMD5::update | ( | const char * | in, |
int | len = -1 |
||
) |
Updates the message to be digested.
Be sure to add all data before you read the digest. After reading the digest, you can not add more data!
- Parameters
-
in message to be added to digest len the length of the given message.
Definition at line 767 of file kcodecs.cpp.
void KMD5::update | ( | const unsigned char * | in, |
int | len = -1 |
||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 772 of file kcodecs.cpp.
void KMD5::update | ( | const QByteArray & | in | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Parameters
-
in message to be added to the digest (QByteArray).
Definition at line 762 of file kcodecs.cpp.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.reads the data from an I/O device, i.e.
from a file (QFile).
NOTE that the file must be open for reading.
- Parameters
-
file a QIODevice opened for reading
- Returns
- false if an error occurred during reading.
Definition at line 815 of file kcodecs.cpp.
bool KMD5::verify | ( | const KMD5::Digest & | digest | ) |
returns true if the calculated digest for the given message matches the given one.
Definition at line 862 of file kcodecs.cpp.
bool KMD5::verify | ( | const QByteArray & | hexdigest | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 868 of file kcodecs.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:22:13 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.