@etsoo/appscript 1.1.62 → 1.1.63

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.
@@ -87,6 +87,10 @@ export interface ICoreApp<S extends IAppSettings, N, C extends NotificationCallP
87
87
  * User data
88
88
  */
89
89
  userData?: IUserData;
90
+ /**
91
+ * Passphrase for encryption
92
+ */
93
+ passphrase?: string;
90
94
  /**
91
95
  * Search input element
92
96
  */
@@ -323,6 +327,10 @@ export declare abstract class CoreApp<S extends IAppSettings, N, C extends Notif
323
327
  * User data
324
328
  */
325
329
  userData?: IUserData;
330
+ /**
331
+ * Passphrase for encryption
332
+ */
333
+ passphrase?: string;
326
334
  /**
327
335
  * Response token header field name
328
336
  */
@@ -401,9 +409,10 @@ export declare abstract class CoreApp<S extends IAppSettings, N, C extends Notif
401
409
  /**
402
410
  * Enchance secret passphrase
403
411
  * @param passphrase Secret passphrase
412
+ * @param miliseconds Miliseconds
404
413
  * @returns Enhanced passphrase
405
414
  */
406
- protected encryptionEnhance(passphrase: string): string;
415
+ protected encryptionEnhance(passphrase: string, miliseconds: number): string;
407
416
  /**
408
417
  * Format date to string
409
418
  * @param input Input date
@@ -203,7 +203,10 @@ class CoreApp {
203
203
  * @returns Pure text
204
204
  */
205
205
  decrypt(messageEncrypted, passphrase) {
206
- return crypto_js_1.AES.decrypt(messageEncrypted, this.encryptionEnhance(passphrase)).toString();
206
+ const pos = messageEncrypted.indexOf('M');
207
+ const miliseconds = parseInt(messageEncrypted.substring(0, pos));
208
+ const message = messageEncrypted.substring(pos + 1);
209
+ return crypto_js_1.AES.decrypt(message, this.encryptionEnhance(passphrase, miliseconds)).toString();
207
210
  }
208
211
  /**
209
212
  * Detect IP data, call only one time
@@ -245,19 +248,22 @@ class CoreApp {
245
248
  * @returns Result
246
249
  */
247
250
  encrypt(message, passphrase) {
248
- return crypto_js_1.AES.encrypt(message, this.encryptionEnhance(passphrase)).toString();
251
+ const miliseconds = new Date().getUTCMilliseconds();
252
+ return (miliseconds +
253
+ 'M' +
254
+ crypto_js_1.AES.encrypt(message, this.encryptionEnhance(passphrase, miliseconds)).toString());
249
255
  }
250
256
  /**
251
257
  * Enchance secret passphrase
252
258
  * @param passphrase Secret passphrase
259
+ * @param miliseconds Miliseconds
253
260
  * @returns Enhanced passphrase
254
261
  */
255
- encryptionEnhance(passphrase) {
256
- var _a, _b;
257
- passphrase += passphrase.length;
258
- if (this.authorized)
259
- return passphrase + ((_b = (_a = this.userData) === null || _a === void 0 ? void 0 : _a.passphrase) !== null && _b !== void 0 ? _b : '');
260
- return passphrase;
262
+ encryptionEnhance(passphrase, miliseconds) {
263
+ var _a;
264
+ passphrase += miliseconds.toString();
265
+ passphrase += passphrase.length.toString();
266
+ return passphrase + ((_a = this.passphrase) !== null && _a !== void 0 ? _a : '');
261
267
  }
262
268
  /**
263
269
  * Format date to string
@@ -27,10 +27,6 @@ export interface IUserData {
27
27
  * Access token
28
28
  */
29
29
  readonly token: string;
30
- /**
31
- * Passphrase for encryption
32
- */
33
- readonly passphrase: string;
34
30
  }
35
31
  /**
36
32
  * User interface
@@ -87,6 +87,10 @@ export interface ICoreApp<S extends IAppSettings, N, C extends NotificationCallP
87
87
  * User data
88
88
  */
89
89
  userData?: IUserData;
90
+ /**
91
+ * Passphrase for encryption
92
+ */
93
+ passphrase?: string;
90
94
  /**
91
95
  * Search input element
92
96
  */
@@ -323,6 +327,10 @@ export declare abstract class CoreApp<S extends IAppSettings, N, C extends Notif
323
327
  * User data
324
328
  */
325
329
  userData?: IUserData;
330
+ /**
331
+ * Passphrase for encryption
332
+ */
333
+ passphrase?: string;
326
334
  /**
327
335
  * Response token header field name
328
336
  */
@@ -401,9 +409,10 @@ export declare abstract class CoreApp<S extends IAppSettings, N, C extends Notif
401
409
  /**
402
410
  * Enchance secret passphrase
403
411
  * @param passphrase Secret passphrase
412
+ * @param miliseconds Miliseconds
404
413
  * @returns Enhanced passphrase
405
414
  */
406
- protected encryptionEnhance(passphrase: string): string;
415
+ protected encryptionEnhance(passphrase: string, miliseconds: number): string;
407
416
  /**
408
417
  * Format date to string
409
418
  * @param input Input date
@@ -200,7 +200,10 @@ export class CoreApp {
200
200
  * @returns Pure text
201
201
  */
202
202
  decrypt(messageEncrypted, passphrase) {
203
- return AES.decrypt(messageEncrypted, this.encryptionEnhance(passphrase)).toString();
203
+ const pos = messageEncrypted.indexOf('M');
204
+ const miliseconds = parseInt(messageEncrypted.substring(0, pos));
205
+ const message = messageEncrypted.substring(pos + 1);
206
+ return AES.decrypt(message, this.encryptionEnhance(passphrase, miliseconds)).toString();
204
207
  }
205
208
  /**
206
209
  * Detect IP data, call only one time
@@ -242,19 +245,22 @@ export class CoreApp {
242
245
  * @returns Result
243
246
  */
244
247
  encrypt(message, passphrase) {
245
- return AES.encrypt(message, this.encryptionEnhance(passphrase)).toString();
248
+ const miliseconds = new Date().getUTCMilliseconds();
249
+ return (miliseconds +
250
+ 'M' +
251
+ AES.encrypt(message, this.encryptionEnhance(passphrase, miliseconds)).toString());
246
252
  }
247
253
  /**
248
254
  * Enchance secret passphrase
249
255
  * @param passphrase Secret passphrase
256
+ * @param miliseconds Miliseconds
250
257
  * @returns Enhanced passphrase
251
258
  */
252
- encryptionEnhance(passphrase) {
253
- var _a, _b;
254
- passphrase += passphrase.length;
255
- if (this.authorized)
256
- return passphrase + ((_b = (_a = this.userData) === null || _a === void 0 ? void 0 : _a.passphrase) !== null && _b !== void 0 ? _b : '');
257
- return passphrase;
259
+ encryptionEnhance(passphrase, miliseconds) {
260
+ var _a;
261
+ passphrase += miliseconds.toString();
262
+ passphrase += passphrase.length.toString();
263
+ return passphrase + ((_a = this.passphrase) !== null && _a !== void 0 ? _a : '');
258
264
  }
259
265
  /**
260
266
  * Format date to string
@@ -27,10 +27,6 @@ export interface IUserData {
27
27
  * Access token
28
28
  */
29
29
  readonly token: string;
30
- /**
31
- * Passphrase for encryption
32
- */
33
- readonly passphrase: string;
34
30
  }
35
31
  /**
36
32
  * User interface
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/appscript",
3
- "version": "1.1.62",
3
+ "version": "1.1.63",
4
4
  "description": "Applications shared TypeScript framework",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/mjs/index.js",
@@ -129,6 +129,11 @@ export interface ICoreApp<
129
129
  */
130
130
  userData?: IUserData;
131
131
 
132
+ /**
133
+ * Passphrase for encryption
134
+ */
135
+ passphrase?: string;
136
+
132
137
  /**
133
138
  * Search input element
134
139
  */
@@ -432,6 +437,11 @@ export abstract class CoreApp<
432
437
  */
433
438
  userData?: IUserData;
434
439
 
440
+ /**
441
+ * Passphrase for encryption
442
+ */
443
+ passphrase?: string;
444
+
435
445
  /**
436
446
  * Response token header field name
437
447
  */
@@ -649,9 +659,12 @@ export abstract class CoreApp<
649
659
  * @returns Pure text
650
660
  */
651
661
  decrypt(messageEncrypted: string, passphrase: string) {
662
+ const pos = messageEncrypted.indexOf('M');
663
+ const miliseconds = parseInt(messageEncrypted.substring(0, pos));
664
+ const message = messageEncrypted.substring(pos + 1);
652
665
  return AES.decrypt(
653
- messageEncrypted,
654
- this.encryptionEnhance(passphrase)
666
+ message,
667
+ this.encryptionEnhance(passphrase, miliseconds)
655
668
  ).toString();
656
669
  }
657
670
 
@@ -702,22 +715,27 @@ export abstract class CoreApp<
702
715
  * @returns Result
703
716
  */
704
717
  encrypt(message: string, passphrase: string) {
705
- return AES.encrypt(
706
- message,
707
- this.encryptionEnhance(passphrase)
708
- ).toString();
718
+ const miliseconds = new Date().getUTCMilliseconds();
719
+ return (
720
+ miliseconds +
721
+ 'M' +
722
+ AES.encrypt(
723
+ message,
724
+ this.encryptionEnhance(passphrase, miliseconds)
725
+ ).toString()
726
+ );
709
727
  }
710
728
 
711
729
  /**
712
730
  * Enchance secret passphrase
713
731
  * @param passphrase Secret passphrase
732
+ * @param miliseconds Miliseconds
714
733
  * @returns Enhanced passphrase
715
734
  */
716
- protected encryptionEnhance(passphrase: string) {
717
- passphrase += passphrase.length;
718
- if (this.authorized)
719
- return passphrase + (this.userData?.passphrase ?? '');
720
- return passphrase;
735
+ protected encryptionEnhance(passphrase: string, miliseconds: number) {
736
+ passphrase += miliseconds.toString();
737
+ passphrase += passphrase.length.toString();
738
+ return passphrase + (this.passphrase ?? '');
721
739
  }
722
740
 
723
741
  /**
package/src/state/User.ts CHANGED
@@ -33,11 +33,6 @@ export interface IUserData {
33
33
  * Access token
34
34
  */
35
35
  readonly token: string;
36
-
37
- /**
38
- * Passphrase for encryption
39
- */
40
- readonly passphrase: string;
41
36
  }
42
37
 
43
38
  /**