如何使用下面两个函数 :#include <QByteArray> #include <QString> #include <QCryptographicHash> #include <QAESEncryption> // 将 QString 类型的字符串进行 AES 加密 QString encrypt(const QString& str, const QString& key) { QByteArray keyBytes = QCryptographicHash::hash(key.toUtf8(), QCryptographicHash::Sha256); QByteArray strBytes = str.toUtf8(); QByteArray encryptedBytes = QAESEncryption::Crypt(QAESEncryption::AES_128, QAESEncryption::ECB, strBytes, keyBytes, keyBytes.left(16)); return QString::fromLatin1(encryptedBytes.toBase64()); } // 将 AES 加密后的 QString 类型的字符串进行解密 QString decrypt(const QString& str, const QString& key) { QByteArray keyBytes = QCryptographicHash::hash(key.toUtf8(), QCryptographicHash::Sha256); QByteArray encryptedBytes = QByteArray::fromBase64(str.toLatin1()); QByteArray decryptedBytes = QAESEncryption::Decrypt(QAESEncryption::AES_128, QAESEncryption::ECB, encryptedBytes, keyBytes, keyBytes.left(16)); return QString::fromUtf8(decryptedBytes); }
时间: 2024-03-01 10:49:48 浏览: 113
这两个函数可以用来对字符串进行加密和解密,加密采用了AES算法,具体使用步骤如下:
1. 加密字符串:
```
QString original_str = "原始字符串";
QString key = "密钥";
QString encrypted_str = encrypt(original_str, key);
```
将原始字符串和密钥传入 `encrypt` 函数,得到加密后的字符串 `encrypted_str`。
2. 解密字符串:
```
QString decrypted_str = decrypt(encrypted_str, key);
```
将加密后的字符串和密钥传入 `decrypt` 函数,得到解密后的字符串 `decrypted_str`。
需要注意的是,加密和解密时使用的密钥必须相同,否则解密会失败。另外,加密后的字符串是经过 base64 编码的,需要解码后才能得到原始的加密内容。
阅读全文