#ifndef MAINWINDOW_H #define MAINWINDOW_H #include "licensedata.h" #include #include #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE typedef struct LicenseInfo{ QString Baseboard_Serialnumber = ""; QString Baseboard_Uuid = ""; QString Bios_Serialnumber = ""; QString CPU_Processorid = ""; QString Username = ""; int ActiveState = 0; int IsEnabled_cell = 0; int IsEnabled_aquifer = 0; int IsEnabled_pipe = 0; int IsEnabled_network = 0; QString LicensedDuration_start = "2023-04-01"; QString LicensedDuration_end = "2023-04-01"; QString Productid = "1"; //产品号 (1,3)安全评价软件(2,3)数据库 QString Versionid = "2.0"; //版本号 用于区分大版本,同一个大版本内可用 } LicenseInfo; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); void initUI(); QString toUpperAndLower(QString src); QString EncodebyBase64(const QString &src); QString DecodebyBase64(const QString &src); QString EncryptData(const QString &src,QCryptographicHash::Algorithm algo); QString AES_encryption(const QString &data, const QString &key); QString AES_decryption(const QString &data, const QString &key); QByteArray AES_decryption_byte(const QString &data, const QString &key); QString getEncrypt(const QString &data, QString key); QString getDecrypt(const QString &data, QString key); void changeUIstate(); void setLicenseinfo(const QJsonObject licensekey_Obj); QString getLocalID(); QString getWindowsInfo(const QString &cmd); //授权集中在一起,不同点在于时间 void giveLicense(int time); void ActiveRecord(LicenseData lic,QString edition, QString licenseKey); //新的加密方法 QString getEncrypt_New(); private slots: void on_pushButton_decrypt_clicked(); void on_pushButton_accreditall_clicked(); void on_pushButton_accreditcell_clicked(); void on_pushButton_accreditaquifer_clicked(); void on_pushButton_accreditpipe_clicked(); void on_pushButton_accreditnetwork_clicked(); void on_pushButton_deaccreditall_clicked(); void on_pushButton_copykey_clicked(); void on_pushButton_clicked(); void on_pushButton_getId_clicked(); void on_pushButton_import_clicked(); void on_pushButton_export_clicked(); void on_pushButton_dateset_clicked(); void on_pushButton_adddate_clicked(); void on_pushButton_reducedate_clicked(); void on_pushButton_setproid_clicked(); void on_pushButton_setversion_clicked(); void on_pushButton_normal_clicked(); void on_pushButton_education_clicked(); void on_pushButton_profession_clicked(); void on_pushButton_viewUsers_clicked(); private: Ui::MainWindow *ui; LicenseInfo localinfo; LicenseInfo licenseinfo; QJsonDocument workingjsondoc; LicenseData lic2; QByteArray key = "MySecretKey12345"; // QString key = "9aFUEFjsqHsde4DOhirdskgdznSDHlfb0ae"; // QByteArray key = "MySecretKey12345"; // 16字节密钥 QMap m_numToInfo; }; #endif // MAINWINDOW_H