@jayfong/x-server 2.65.0 → 2.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -138,5 +138,38 @@ class CryptoService {
138
138
  decrypted += decipher.final('utf8');
139
139
  return decrypted;
140
140
  }
141
+
142
+ /**
143
+ * 使用AES加密算法对JSON数据进行加密
144
+ *
145
+ * 该方法首先将payload参数序列化为JSON字符串,然后使用指定的密钥进行AES加密
146
+ * 主要用于在传输敏感信息前,对数据进行加密处理,以确保数据的安全性
147
+ *
148
+ * @param payload 任何类型的对象,代表需要加密的原始数据
149
+ * @param key 字符串类型的密钥,用于AES加密算法
150
+ * 密钥需要符合AES加密算法的长度要求
151
+ * @returns 返回加密后的字符串数据
152
+ * 加密后的数据可以安全地进行网络传输或存储
153
+ */
154
+ aesEncryptJson(payload, key) {
155
+ // 将payload对象序列化为JSON字符串,以便进行加密处理
156
+ // 使用指定的密钥对序列化后的JSON字符串进行AES加密
157
+ // 返回加密后的数据,确保数据在传输或存储过程中的安全性
158
+ return this.aesEncrypt(JSON.stringify(payload), key);
159
+ }
160
+
161
+ /**
162
+ * 使用AES算法解密给定的文本,并将解密后的结果解析为JSON对象
163
+ *
164
+ * @param text 需要解密的加密文本
165
+ * @param key 解密用的密钥,必须与加密时使用的密钥相同
166
+ * @returns 返回解密后的JSON对象,类型为泛型T,根据调用时指定的类型解析
167
+ */
168
+ aesDecryptJson(text, key) {
169
+ // 使用指定的密钥对给定的加密数据进行AES解密
170
+ // 将解密后的数据反序列化为JSON对象,以便后续的处理
171
+ // 返回解密后的数据,确保数据在传输或存储过程中的安全性
172
+ return JSON.parse(this.aesDecrypt(text, key));
173
+ }
141
174
  }
142
175
  exports.CryptoService = CryptoService;
@@ -81,6 +81,27 @@ export declare class CryptoService implements BaseService {
81
81
  * @param key - 用于解密的密钥(仅支持16字节的密钥)。
82
82
  */
83
83
  aesDecrypt(text: string, key: string): string;
84
+ /**
85
+ * 使用AES加密算法对JSON数据进行加密
86
+ *
87
+ * 该方法首先将payload参数序列化为JSON字符串,然后使用指定的密钥进行AES加密
88
+ * 主要用于在传输敏感信息前,对数据进行加密处理,以确保数据的安全性
89
+ *
90
+ * @param payload 任何类型的对象,代表需要加密的原始数据
91
+ * @param key 字符串类型的密钥,用于AES加密算法
92
+ * 密钥需要符合AES加密算法的长度要求
93
+ * @returns 返回加密后的字符串数据
94
+ * 加密后的数据可以安全地进行网络传输或存储
95
+ */
96
+ aesEncryptJson(payload: any, key: string): string;
97
+ /**
98
+ * 使用AES算法解密给定的文本,并将解密后的结果解析为JSON对象
99
+ *
100
+ * @param text 需要解密的加密文本
101
+ * @param key 解密用的密钥,必须与加密时使用的密钥相同
102
+ * @returns 返回解密后的JSON对象,类型为泛型T,根据调用时指定的类型解析
103
+ */
104
+ aesDecryptJson<T>(text: string, key: string): T;
84
105
  }
85
106
  declare module '../x' {
86
107
  interface X {
@@ -133,4 +133,37 @@ export class CryptoService {
133
133
  decrypted += decipher.final('utf8');
134
134
  return decrypted;
135
135
  }
136
+
137
+ /**
138
+ * 使用AES加密算法对JSON数据进行加密
139
+ *
140
+ * 该方法首先将payload参数序列化为JSON字符串,然后使用指定的密钥进行AES加密
141
+ * 主要用于在传输敏感信息前,对数据进行加密处理,以确保数据的安全性
142
+ *
143
+ * @param payload 任何类型的对象,代表需要加密的原始数据
144
+ * @param key 字符串类型的密钥,用于AES加密算法
145
+ * 密钥需要符合AES加密算法的长度要求
146
+ * @returns 返回加密后的字符串数据
147
+ * 加密后的数据可以安全地进行网络传输或存储
148
+ */
149
+ aesEncryptJson(payload, key) {
150
+ // 将payload对象序列化为JSON字符串,以便进行加密处理
151
+ // 使用指定的密钥对序列化后的JSON字符串进行AES加密
152
+ // 返回加密后的数据,确保数据在传输或存储过程中的安全性
153
+ return this.aesEncrypt(JSON.stringify(payload), key);
154
+ }
155
+
156
+ /**
157
+ * 使用AES算法解密给定的文本,并将解密后的结果解析为JSON对象
158
+ *
159
+ * @param text 需要解密的加密文本
160
+ * @param key 解密用的密钥,必须与加密时使用的密钥相同
161
+ * @returns 返回解密后的JSON对象,类型为泛型T,根据调用时指定的类型解析
162
+ */
163
+ aesDecryptJson(text, key) {
164
+ // 使用指定的密钥对给定的加密数据进行AES解密
165
+ // 将解密后的数据反序列化为JSON对象,以便后续的处理
166
+ // 返回解密后的数据,确保数据在传输或存储过程中的安全性
167
+ return JSON.parse(this.aesDecrypt(text, key));
168
+ }
136
169
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jayfong/x-server",
3
- "version": "2.65.0",
3
+ "version": "2.67.0",
4
4
  "license": "ISC",
5
5
  "sideEffects": false,
6
6
  "main": "lib/_cjs/index.js",