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