4 #include <QCryptographicHash>
8 return QCryptographicHash::hash(data, QCryptographicHash::Md5).toHex().toLower();
13 return QCryptographicHash::hash(data, QCryptographicHash::Sha1);
18 const int blockSize = 64;
19 QByteArray newSecretKey =
key;
20 if(newSecretKey.length() > blockSize)
25 QByteArray innerPadding(blockSize,
char(0x36));
26 QByteArray outerPadding(blockSize,
char(0x5C));
28 for(
int i = 0; i < key.length(); ++i)
30 innerPadding[i] = innerPadding[i] ^ key.at(i);
31 outerPadding[i] = outerPadding[i] ^ key.at(i);
34 QByteArray total = outerPadding;
35 QByteArray part = innerPadding;
TTK_MODULE_EXPORT QByteArray md5(const QByteArray &data)
static constexpr const char * MDII_URL_KEY
static constexpr wchar_t key[]
TTK_MODULE_EXPORT QByteArray hmacSha1(const QByteArray &data, const QByteArray &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)