4 #include <QCryptographicHash>
8 const QByteArray &v = QCryptographicHash::hash(data, QCryptographicHash::Md5);
9 return base64 ? v.toBase64() : v.toHex().toLower();
14 return QCryptographicHash::hash(data, QCryptographicHash::Sha1);
19 const int blockSize = 64;
20 QByteArray newSecretKey =
key;
21 if(newSecretKey.length() > blockSize)
26 QByteArray innerPadding(blockSize,
char(0x36));
27 QByteArray outerPadding(blockSize,
char(0x5C));
29 for(
int i = 0; i < key.length(); ++i)
31 innerPadding[i] = innerPadding[i] ^ key.at(i);
32 outerPadding[i] = outerPadding[i] ^ key.at(i);
35 QByteArray total = outerPadding;
36 QByteArray part = innerPadding;
static constexpr const char * MDII_URL_KEY
TTK_MODULE_EXPORT QByteArray hmacSha1(const QByteArray &data, const QByteArray &key)
TTK_MODULE_EXPORT QByteArray md5(const QByteArray &data, bool base64=false)
static constexpr wchar_t key[]
The class of the string cryptographic hash.
TTK_MODULE_EXPORT QByteArray sha1(const QByteArray &data)
QString decrypt(const QString &data, const char *key)
QString encrypt(const QString &data, const char *key)
TTK_MODULE_EXPORT QString mdII(const QString &data, bool encode)