dff-util 1.0.1 → 1.0.3

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.
package/README.md CHANGED
@@ -1,3 +1,172 @@
1
+ ## Http
2
+
3
+ ```
4
+ Http calls
5
+ ```
6
+
7
+ ## util
8
+
9
+ ```
10
+ => Random number generate.
11
+ AppRandomString(length, charset);
12
+
13
+ => Generate code with Upper case without special char
14
+ AppUniqueCode();
15
+
16
+ => Key give Upper case without special char by type
17
+ AppCodeByType(name, type);
18
+
19
+ => Key give Upper case without special char
20
+ AppCode(name);
21
+
22
+ AppDaysBack(date, addDays, isDays);
23
+
24
+ AppAddDays(date, addDays, isDays);
25
+
26
+ AppUUID4();
27
+ ```
28
+
29
+ ## JWT
30
+
31
+ #### Encode JWT Token with secret key, expiresIn in seconds (86400 = 1 day) default
32
+
33
+ ```
34
+ JwtEncode(data, secret, expiresIn);
35
+ ```
36
+
37
+ #### Deocde JWT Token
38
+
39
+ ```
40
+ JwtDecode(token);
41
+ ```
42
+
43
+ #### Verify JWT token with secret
44
+
45
+ ```
46
+ JwtVerify(data, secret);
47
+ ```
48
+
49
+ #### Check token expires or not
50
+
51
+ ```
52
+ JwtValid(token);
53
+ ```
54
+
55
+ ## Constant Values
56
+
57
+ ```
58
+ ConstValue = {
59
+ // Logical operators
60
+ AND: '&&',
61
+ OR: '||',
62
+ NOT: '!',
63
+
64
+ // Common special characters
65
+ AT: '@',
66
+ HASH: '#',
67
+ DOLLAR: '$',
68
+ PERCENT: '%',
69
+ CARET: '^',
70
+ AMPERSAND: '&',
71
+ ASTERISK: '*',
72
+ TILDE: '~',
73
+ COLON: ':',
74
+ SEMICOLON: ';',
75
+ DOUBLE_QUOTE: '"',
76
+ SINGLE_QUOTE: "'",
77
+ COMMA: ',',
78
+ PERIOD: '.',
79
+ SLASH: '/',
80
+ QUESTION_MARK: '?',
81
+ PLUS: '+',
82
+ UNDERSCORE: '_',
83
+ HYPHEN: '-',
84
+ EQUALS: '=',
85
+ BACKSLASH: '\\',
86
+ PIPE: '|',
87
+
88
+ // Space
89
+ SPACE: ' ',
90
+ EMPTY: '',
91
+
92
+ // Other
93
+ TRUE: 'true',
94
+ FALSE: 'false',
95
+ NULL: 'null',
96
+ UNDEFINED: 'undefined',
97
+
98
+ STR_AND: 'AND',
99
+ STR_OR: 'OR',
100
+ STR_NOT: 'NOT',
101
+ };
102
+ ```
103
+
104
+ ## Regx
105
+
106
+ ```
107
+ RegExp = {
108
+ // Matches any non-alphanumeric characters
109
+ NON_ALPHA_NUMERIC: /[^\w\s]/g,
110
+
111
+ // Matches only numeric digits (0-9)
112
+ DIGITS_ONLY: /^\d+$/,
113
+
114
+ // Matches only alphabets (case-insensitive)
115
+ ALPHABETS_ONLY: /^[a-zA-Z]+$/,
116
+
117
+ // Matches alphanumeric characters (letters and digits)
118
+ ALPHA_NUMERIC: /^[a-zA-Z0-9]+$/,
119
+
120
+ // Matches an email address
121
+ EMAIL: /^[\w.%+-]+@[a-zA-Z\d.-]+\.[a-zA-Z]{2,}$/,
122
+
123
+ // Matches a URL
124
+ URL: /^(https?:\/\/)?([\w.-]+)\.([a-z]{2,6}\.?)(\/[\w.-]*)*\/?$/i,
125
+
126
+ // Matches a US phone number (formats like (123) 456-7890, 123-456-7890, etc.)
127
+ PHONE_US: /^(\(\d{3}\)\s?|\d{3}[-.\s]?)?\d{3}[-.\s]?\d{4}$/,
128
+
129
+ // Matches a password with at least one lowercase, one uppercase, one digit, and one special character
130
+ STRONG_PASSWORD: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$/,
131
+
132
+ // Matches whitespace characters
133
+ WHITESPACE: /\s+/g,
134
+
135
+ // Matches any HTML tags
136
+ HTML_TAG: /<\/?[\w\s="/.':;#-\/\?]+>/gi,
137
+
138
+ // Matches IPv4 addresses
139
+ IPV4: /^(25[0-5]|2[0-4]\d|1?\d?\d)(\.(25[0-5]|2[0-4]\d|1?\d?\d)){3}$/,
140
+
141
+ // Matches dates in YYYY-MM-DD format
142
+ DATE_YYYY_MM_DD: /^\d{4}-\d{2}-\d{2}$/,
143
+
144
+ // Matches time in HH:MM 24-hour format
145
+ TIME_HH_MM: /^([01]\d|2[0-3]):([0-5]\d)$/,
146
+
147
+ // Matches ISO 8601 datetime format (e.g., 2023-08-15T13:45:30Z, 2023-08-15T13:45:30+05:30)
148
+ ISO_DATETIME: /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/,
149
+
150
+ // Matches a hexadecimal color code
151
+ HEX_COLOR: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,
152
+
153
+ // Matches a UUID (version 4)
154
+ UUID_V4: /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,
155
+
156
+ // Matches non-ASCII characters
157
+ NON_ASCII: /[^\x00-\x7F]/g,
158
+
159
+ // Matches line breaks (newlines)
160
+ LINE_BREAK: /\r?\n/g,
161
+
162
+ // Matches amounts in decimal format (e.g., 123.45, 0.99, 1000)
163
+ AMOUNT_DECIMAL: /^\d+(\.\d{1,2})?$/,
164
+
165
+ // Matches percentages from 0-100 or in decimal format (e.g., 25%, 99.99%, 100, 0.5)
166
+ PERCENTAGE: /^(100(\.0{1,2})?|0|0?\.\d{1,2}|[1-9]?\d(\.\d{1,2})?)%?$/,
167
+ };
168
+ ```
169
+
1
170
  ## Session Info
2
171
 
3
172
  ```
@@ -9,7 +178,21 @@ export type SessionInfo = {
9
178
  role: string;
10
179
  requestId?: string;
11
180
  token?: string;
181
+ iat?: number;
12
182
  exp?: number;
183
+ key: string;
184
+ };
185
+ ```
186
+
187
+ ## SessionUser
188
+
189
+ ```
190
+ export type SessionUser = {
191
+ id: string;
192
+ email?: string;
193
+ mobile?: string;
194
+ name?: string;
195
+ role: string;
13
196
  };
14
197
  ```
15
198
 
@@ -23,24 +206,97 @@ new ErrorResponse(message): {
23
206
  }
24
207
  ```
25
208
 
26
- ### util
209
+ ## SuccessResponse
210
+
211
+ ```
212
+ export const SuccessResponse = (data: any) => {
213
+ return {
214
+ status: 1,
215
+ type: 'SUCCESS',
216
+ data: data,
217
+ };
218
+ };
219
+ ```
220
+
221
+ ## file upload test
27
222
 
28
223
  ```
29
- UniqueCode();
30
- UniqueByType(name, type) => key give Upper case without special char by type
31
- Key(name) => key give Upper case without special char
32
- DaysBack(date, addDays, isDays)
33
- AddDays(date, addDays, isDays)
224
+ // ts-node test/fileupload.ts
225
+
226
+ import fs from 'fs/promises';
227
+ import { Http } from '../src';
228
+ import path from 'path';
229
+
230
+ const url = '/file';
231
+ const filename = 'testing2.xlsx';
232
+ const filePath = path.join(__dirname, filename);
233
+ console.log(filePath);
234
+ const main = async () => {
235
+ const data = await fs.readFile(filePath);
236
+ const resp = await Http.Upload(
237
+ url,
238
+ new File([data], filePath, {
239
+ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
240
+ lastModified: Date.now(),
241
+ }),
242
+ );
243
+ console.log('Http.Upload :: ', resp);
244
+ };
245
+
246
+ main();
34
247
  ```
35
248
 
36
- ## Crypto encrypt
249
+ ## crypto
37
250
 
38
251
  ```
39
- crypto.encrypt(text, key) :: string
252
+ const hexStringToArrayBuffer = (hex: string) => {
253
+ const hexMatches = hex.match(/.{1,2}/g) || [];
254
+ const typedArray = new Uint8Array(hexMatches.map((byte) => parseInt(byte, 16)));
255
+ return typedArray.buffer;
256
+ };
257
+
258
+ export const Decrypt = async (text: string, key: string) => {
259
+ const [ivHex, dataHex] = text.split(':');
260
+ const iv = hexStringToArrayBuffer(ivHex);
261
+ const data = hexStringToArrayBuffer(dataHex);
262
+ const alg = { name: 'AES-CBC', iv: iv };
263
+ const cryptoKey = await crypto.subtle.importKey('raw', hexStringToArrayBuffer(key), alg, false, ['decrypt']);
264
+ const decrypted = await crypto.subtle.decrypt(alg, cryptoKey, data);
265
+ const dec = new TextDecoder();
266
+ return dec.decode(decrypted);
267
+ };
40
268
  ```
41
269
 
42
- ## Crypto decrypt
270
+ ```
271
+ import * as crypto from 'crypto';
272
+ export const Encrypt = (text: string, key: string) => {
273
+ const iv = crypto.randomBytes(16);
274
+ const cipher = crypto.createCipheriv('aes-256-cbc', Buffer.from(key, 'hex'), iv);
275
+ let encrypted = cipher.update(text, 'utf8', 'hex');
276
+ encrypted += cipher.final('hex');
277
+ return iv.toString('hex') + ':' + encrypted;
278
+ };
279
+ ```
43
280
 
44
281
  ```
45
- crypto.decrypt(text, key) :: string
282
+ // ts-node test/test.ts
283
+ import crypto from 'crypto';
284
+
285
+ import { Encrypt, Decrypt } from '../src/index';
286
+
287
+ //const key = crypto.randomBytes(32).toString('hex');
288
+ const key = '7e0a0ef142de22eb787b5001b36f188f3e7378abf250fc87bf38a4bda197236ef';
289
+
290
+ console.log(key);
291
+
292
+ const password = Encrypt('Admin!Admin', key);
293
+
294
+ console.log(password);
295
+
296
+ const main = async () => {
297
+ const resp = await Decrypt(password, key);
298
+ console.log(resp);
299
+ };
300
+
301
+ main();
46
302
  ```
package/dist/index.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  export * from './main/util';
2
- export * from './main/crypto-decrypt';
3
- export * from './main/crypto-encrypt';
4
2
  export * from './main/jwt-util';
5
3
  export * from './main/http';
6
4
  export * from './main/regexr';
package/dist/index.js CHANGED
@@ -15,8 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./main/util"), exports);
18
- __exportStar(require("./main/crypto-decrypt"), exports);
19
- __exportStar(require("./main/crypto-encrypt"), exports);
20
18
  __exportStar(require("./main/jwt-util"), exports);
21
19
  __exportStar(require("./main/http"), exports);
22
20
  __exportStar(require("./main/regexr"), exports);
@@ -6,7 +6,9 @@ export type SessionInfo = {
6
6
  role: string;
7
7
  requestId?: string;
8
8
  token?: string;
9
+ iat?: number;
9
10
  exp?: number;
11
+ key: string;
10
12
  };
11
13
  export type SessionUser = {
12
14
  id: string;
@@ -10,6 +10,10 @@ export declare const HttpHeaders: {
10
10
  authorization: null;
11
11
  'x-request-id': null;
12
12
  };
13
+ export declare const BaseHeaders: {
14
+ authorization: null;
15
+ 'x-request-id': null;
16
+ };
13
17
  export declare class Http {
14
18
  static API_BASE_URL: string | undefined;
15
19
  static TOKEN_URL: string;
@@ -19,6 +23,6 @@ export declare class Http {
19
23
  static Put(url: string, data: any, headers: any, type?: RespType): Promise<any>;
20
24
  static Delete(url: string, params: any, headers: any, type?: RespType): Promise<any>;
21
25
  static Token(sessionInfo: any, appKey: string, apiKey?: string, type?: RespType): Promise<any>;
22
- static Upload(fullUrl: string, file: File, data?: Record<string, any>, headers?: any, type?: RespType): Promise<any>;
26
+ static Upload(fullUrl: string, file: File, isHeadersAddMultiForm?: boolean, data?: Record<string, any>, headers?: any, type?: RespType): Promise<any>;
23
27
  static Download(fullUrl: string, params: any, headers?: any): Promise<Buffer>;
24
28
  }
package/dist/main/http.js CHANGED
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Http = exports.HttpHeaders = exports.RespType = void 0;
12
+ exports.Http = exports.BaseHeaders = exports.HttpHeaders = exports.RespType = void 0;
13
13
  var RespType;
14
14
  (function (RespType) {
15
15
  RespType["JSON"] = "json";
@@ -23,6 +23,10 @@ exports.HttpHeaders = {
23
23
  authorization: null,
24
24
  'x-request-id': null,
25
25
  };
26
+ exports.BaseHeaders = {
27
+ authorization: null,
28
+ 'x-request-id': null,
29
+ };
26
30
  class Http {
27
31
  static RespData(response_1) {
28
32
  return __awaiter(this, arguments, void 0, function* (response, type = RespType.JSON) {
@@ -123,20 +127,25 @@ class Http {
123
127
  });
124
128
  }
125
129
  static Upload(fullUrl_1, file_1) {
126
- return __awaiter(this, arguments, void 0, function* (fullUrl, file, data = {}, headers = exports.HttpHeaders, type = RespType.JSON) {
130
+ return __awaiter(this, arguments, void 0, function* (fullUrl, file, isHeadersAddMultiForm = false, data = {}, headers = exports.BaseHeaders, type = RespType.JSON) {
127
131
  const formData = new FormData();
132
+ console.log(file);
128
133
  formData.append('file', file);
129
134
  for (const key in data) {
130
135
  if (data[key] !== undefined && data[key] !== null) {
131
136
  formData.append(key, data[key]);
132
137
  }
133
138
  }
139
+ if (isHeadersAddMultiForm) {
140
+ headers = Object.assign(Object.assign({}, headers), { 'Content-Type': 'multipart/form-data' });
141
+ }
134
142
  try {
135
143
  const requestOptions = {
136
144
  method: 'POST',
137
145
  body: formData,
138
- headers: Object.assign(Object.assign({}, headers), { 'Content-Type': 'multipart/form-data' }),
146
+ headers: Object.assign({}, headers),
139
147
  };
148
+ console.log(requestOptions);
140
149
  const response = yield fetch(fullUrl, requestOptions);
141
150
  return yield Http.RespData(response, type);
142
151
  }
@@ -1,4 +1,28 @@
1
1
  import * as jwt from 'jsonwebtoken';
2
- export declare const JwtEncode: (data: any, token: string, expiresIn?: number) => string;
3
- export declare const JwtVerify: (data: any, token: string) => string | jwt.JwtPayload;
4
- export declare const JwtDecode: (token: any) => string | jwt.JwtPayload | null;
2
+ /**
3
+ * Encode JWT Token with secret key, expiresIn in seconds (86400 = 1 day) default
4
+ * @param data
5
+ * @param token
6
+ * @param expiresIn
7
+ * @returns
8
+ */
9
+ export declare const JwtEncode: (data: any, secret: string, expiresIn?: number) => string;
10
+ /**
11
+ * Verify JWT token with secret
12
+ * @param data
13
+ * @param token
14
+ * @returns
15
+ */
16
+ export declare const JwtVerify: (data: string, secret: string) => string | jwt.JwtPayload;
17
+ /**
18
+ * Deocde JWT Token
19
+ * @param token
20
+ * @returns
21
+ */
22
+ export declare const JwtDecode: (token: string) => string | jwt.JwtPayload | null;
23
+ /**
24
+ * checking token expires or not
25
+ * @param token
26
+ * @returns
27
+ */
28
+ export declare const JwtValid: (token: string) => boolean;
@@ -23,20 +23,33 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.JwtDecode = exports.JwtVerify = exports.JwtEncode = void 0;
26
+ exports.JwtValid = exports.JwtDecode = exports.JwtVerify = exports.JwtEncode = void 0;
27
27
  const jwt = __importStar(require("jsonwebtoken"));
28
- const JwtEncode = (data, token, expiresIn = 86400) => {
29
- return jwt.sign(data, token, {
28
+ /**
29
+ * Encode JWT Token with secret key, expiresIn in seconds (86400 = 1 day) default
30
+ * @param data
31
+ * @param token
32
+ * @param expiresIn
33
+ * @returns
34
+ */
35
+ const JwtEncode = (data, secret, expiresIn = 86400) => {
36
+ return jwt.sign(data, secret, {
30
37
  expiresIn: expiresIn,
31
38
  });
32
39
  };
33
40
  exports.JwtEncode = JwtEncode;
34
- const JwtVerify = (data, token) => {
41
+ /**
42
+ * Verify JWT token with secret
43
+ * @param data
44
+ * @param token
45
+ * @returns
46
+ */
47
+ const JwtVerify = (data, secret) => {
35
48
  if (data) {
36
49
  try {
37
50
  data = data.replace('jwt ', '').replace('JWT ', '');
38
51
  data = data.replace('Bearer ', '').replace('bearer ', '').replace('BEARER', '');
39
- return jwt.verify(data, token);
52
+ return jwt.verify(data, secret);
40
53
  }
41
54
  catch (err) {
42
55
  throw { name: 'error', message: 'Token is not valid' };
@@ -47,6 +60,11 @@ const JwtVerify = (data, token) => {
47
60
  }
48
61
  };
49
62
  exports.JwtVerify = JwtVerify;
63
+ /**
64
+ * Deocde JWT Token
65
+ * @param token
66
+ * @returns
67
+ */
50
68
  const JwtDecode = (token) => {
51
69
  if (token) {
52
70
  try {
@@ -64,3 +82,27 @@ const JwtDecode = (token) => {
64
82
  }
65
83
  };
66
84
  exports.JwtDecode = JwtDecode;
85
+ /**
86
+ * checking token expires or not
87
+ * @param token
88
+ * @returns
89
+ */
90
+ const JwtValid = (token) => {
91
+ try {
92
+ if (!token) {
93
+ return false;
94
+ }
95
+ const payloadBase64 = token.split('.')[1];
96
+ const payload = JSON.parse(atob(payloadBase64));
97
+ const currentTime = Math.floor(Date.now() / 1000);
98
+ if (payload.exp && payload.exp < currentTime) {
99
+ return false;
100
+ }
101
+ return true;
102
+ }
103
+ catch (error) {
104
+ console.error('Invalid JWT:', error);
105
+ return false;
106
+ }
107
+ };
108
+ exports.JwtValid = JwtValid;
@@ -1,7 +1,7 @@
1
1
  export declare const AppRandomString: (length: number, charset: string) => string;
2
2
  export declare const AppUniqueCode: () => string;
3
- export declare const AppUniqueCodeByType: (name: string, type?: null) => string;
4
- export declare const AppKey: (name: string) => string | null;
3
+ export declare const AppCodeByType: (name: string, type?: null) => string;
4
+ export declare const AppCode: (name: string) => string | null;
5
5
  export declare const AppDaysBack: (date: Date, backValue: number, isDays?: boolean) => Date;
6
6
  export declare const AppAddDays: (date: Date, addDays: number, isDays?: boolean) => Date;
7
7
  export declare const AppUUID4: () => string;
package/dist/main/util.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AppUUID4 = exports.AppAddDays = exports.AppDaysBack = exports.AppKey = exports.AppUniqueCodeByType = exports.AppUniqueCode = exports.AppRandomString = void 0;
3
+ exports.AppUUID4 = exports.AppAddDays = exports.AppDaysBack = exports.AppCode = exports.AppCodeByType = exports.AppUniqueCode = exports.AppRandomString = void 0;
4
4
  const randomstring_1 = require("randomstring");
5
5
  const regexr_1 = require("./regexr");
6
6
  const AppRandomString = (length, charset) => {
@@ -18,7 +18,7 @@ const AppUniqueCode = () => {
18
18
  return time.toString(36).toUpperCase();
19
19
  };
20
20
  exports.AppUniqueCode = AppUniqueCode;
21
- const AppUniqueCodeByType = (name, type = null) => {
21
+ const AppCodeByType = (name, type = null) => {
22
22
  let str = '';
23
23
  if (type) {
24
24
  str = type + '_' + name;
@@ -31,8 +31,8 @@ const AppUniqueCodeByType = (name, type = null) => {
31
31
  str = str.substr(0, 128);
32
32
  return str.toUpperCase();
33
33
  };
34
- exports.AppUniqueCodeByType = AppUniqueCodeByType;
35
- const AppKey = (name) => {
34
+ exports.AppCodeByType = AppCodeByType;
35
+ const AppCode = (name) => {
36
36
  if (name == null)
37
37
  return null;
38
38
  let str = '';
@@ -41,7 +41,7 @@ const AppKey = (name) => {
41
41
  str = str.replace(/\s/g, '_');
42
42
  return str.toUpperCase();
43
43
  };
44
- exports.AppKey = AppKey;
44
+ exports.AppCode = AppCode;
45
45
  const AppDaysBack = (date, backValue, isDays = true) => {
46
46
  date = new Date(date);
47
47
  if (isDays) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dff-util",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -1 +0,0 @@
1
- export declare const Decrypt: (text: string, key: string) => Promise<string>;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Decrypt = void 0;
13
- const hexStringToArrayBuffer = (hex) => {
14
- const hexMatches = hex.match(/.{1,2}/g) || [];
15
- const typedArray = new Uint8Array(hexMatches.map((byte) => parseInt(byte, 16)));
16
- return typedArray.buffer;
17
- };
18
- const Decrypt = (text, key) => __awaiter(void 0, void 0, void 0, function* () {
19
- const [ivHex, dataHex] = text.split(':');
20
- const iv = hexStringToArrayBuffer(ivHex);
21
- const data = hexStringToArrayBuffer(dataHex);
22
- const alg = { name: 'AES-CBC', iv: iv };
23
- const cryptoKey = yield crypto.subtle.importKey('raw', hexStringToArrayBuffer(key), alg, false, ['decrypt']);
24
- const decrypted = yield crypto.subtle.decrypt(alg, cryptoKey, data);
25
- const dec = new TextDecoder();
26
- return dec.decode(decrypted);
27
- });
28
- exports.Decrypt = Decrypt;
@@ -1 +0,0 @@
1
- export declare const Encrypt: (text: string, key: string) => string;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Encrypt = void 0;
27
- const crypto = __importStar(require("crypto"));
28
- const Encrypt = (text, key) => {
29
- const iv = crypto.randomBytes(16);
30
- const cipher = crypto.createCipheriv('aes-256-cbc', Buffer.from(key, 'hex'), iv);
31
- let encrypted = cipher.update(text, 'utf8', 'hex');
32
- encrypted += cipher.final('hex');
33
- return iv.toString('hex') + ':' + encrypted;
34
- };
35
- exports.Encrypt = Encrypt;