From 5e1e4a4b57e298806dba97175fa1fbd5c771c7cd Mon Sep 17 00:00:00 2001
From: ccy <3140717620@qq.com>
Date: 星期五, 09 十月 2026 16:17:18 +0800
Subject: [PATCH] 新的加密方式

---
 shortcrypto.h |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/shortcrypto.h b/shortcrypto.h
index 9f0756e..f34dcdd 100644
--- a/shortcrypto.h
+++ b/shortcrypto.h
@@ -29,12 +29,37 @@
      */
     static QByteArray decrypt(const QString &ciphertext, const QByteArray &key, const QByteArray &iv = QByteArray());
 
+    /**
+     * @brief 鏃犲~鍏呭姞瀵嗭紙V3涓撶敤锛�
+     * @param plaintext 鍘熷鏄庢枃锛岄暱搴﹀繀椤绘槸16鐨勫�嶆暟锛�16瀛楄妭鏄庢枃 鈫� 16瀛楄妭瀵嗘枃锛�
+     * @param key 16瀛楄妭瀵嗛挜锛圓ES-128锛�
+     * @return 绾ぇ鍐欏瓧姣嶇紪鐮佺殑瀵嗘枃瀛楃涓诧紙A-Z锛�26瀛楃闆嗭級锛�16瀛楄妭鏄庢枃鎭板ソ杈撳嚭28瀛楃
+     * @note 涓嶅仛PKCS7濉厖锛�16瀛楄妭鏄庢枃鑻ヨ蛋濉厖浼氭墿鎴�32瀛楄妭
+     * @note 鑻ユ兂缂╃煭鍒�25瀛楃锛屾妸V3_CHARS鎹㈡垚"A-Z0-9"骞舵妸base鏀逛负36鍗冲彲
+     */
+    static QString encryptRaw(const QByteArray &plaintext, const QByteArray &key);
+
+    /**
+     * @brief 鏃犲~鍏呰В瀵嗭紙V3涓撶敤锛�
+     * @param ciphertext 绾ぇ鍐欏瓧姣嶇紪鐮佺殑瀵嗘枃锛堝吋瀹规棭鏈烞ase85/绾瓧姣嶇増V3瀵嗘枃锛岃嚜鍔ㄥ洖閫�锛�
+     * @param key 16瀛楄妭瀵嗛挜锛圓ES-128锛�
+     * @return 鍘熷鏄庢枃锛堥暱搴︿笌瀵嗘枃涓�鑷达級锛屽畬鏁存�х敱涓婂眰CRC鏍¢獙淇濊瘉
+     */
+    static QByteArray decryptRaw(const QString &ciphertext, const QByteArray &key);
+
 private:
     // Base85 瀛楃闆嗭紙RFC 1924 鍙樹綋锛屼笉鍚紩鍙�/閫楀彿/鍙ョ偣/鏂滄潬锛岄伩鍏岼SON/XML杞箟闂锛�
     static const char *BASE85_CHARS;
 
+    // V3 瀵嗘枃瀛楃闆嗭細绾ぇ鍐欏瓧姣嶏紝涓嶅惈鏁板瓧/灏忓啓/鐗规畩瀛楃锛�26瀛楃闆嗭紝16瀛楄妭鈫�28瀛楃锛�
+    static const char *V3_CHARS;
+
     static QByteArray base85Encode(const QByteArray &data);
     static QByteArray base85Decode(const QString &text);
+
+    // 浠绘剰杩涘埗鐨勫ぇ鏁扮紪瑙g爜锛堟暣娈靛瓧鑺傚簭浣滀负澶ф暣鏁帮紝鍓嶅闆朵互alphabet[0]琛ラ綈鍥哄畾浣嶆暟锛�
+    static QByteArray baseNEncode(const QByteArray &data, const char *alphabet, int base);
+    static QByteArray baseNDecode(const QString &text, const char *alphabet, int base);
 };
 
 #endif // SHORTCRYPTO_H

--
Gitblit v1.9.1