namirasoft-core 1.2.6 → 1.2.8
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/dist/EncryptionOperation.d.ts +6 -0
- package/dist/EncryptionOperation.js +50 -0
- package/dist/EncryptionOperation.js.map +1 -0
- package/dist/HashOperation.d.ts +4 -0
- package/dist/HashOperation.js +41 -0
- package/dist/HashOperation.js.map +1 -0
- package/dist/SignOperation.d.ts +1 -1
- package/dist/SignOperation.js +3 -31
- package/dist/SignOperation.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -3
- package/src/EncryptionOperation.ts +30 -0
- package/src/HashOperation.ts +17 -0
- package/src/SignOperation.ts +4 -8
- package/src/index.ts +2 -0
|
@@ -0,0 +1,50 @@
|
|
|
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.EncryptionOperation = void 0;
|
|
27
|
+
const crypto = __importStar(require("node:crypto"));
|
|
28
|
+
class EncryptionOperation {
|
|
29
|
+
static encrypt(algorithm, secret, message) {
|
|
30
|
+
const iv = Buffer.alloc(16, 0);
|
|
31
|
+
const cipher = crypto.createCipheriv(algorithm, secret, iv);
|
|
32
|
+
return cipher.update(JSON.stringify(message), 'utf8', 'hex') + cipher.final('hex');
|
|
33
|
+
}
|
|
34
|
+
static decrypt(algorithm, secret, message) {
|
|
35
|
+
let encryptedText = Buffer.from(message, 'hex');
|
|
36
|
+
const iv = Buffer.alloc(16, 0);
|
|
37
|
+
const decipher = crypto.createDecipheriv(algorithm, secret, iv);
|
|
38
|
+
let decrypted = decipher.update(encryptedText);
|
|
39
|
+
decrypted = Buffer.concat([decrypted, decipher.final()]);
|
|
40
|
+
return JSON.parse(decrypted.toString());
|
|
41
|
+
}
|
|
42
|
+
static AES256CCMEncrypt(secret, message) {
|
|
43
|
+
return EncryptionOperation.encrypt("aes-256-ccm", secret, message);
|
|
44
|
+
}
|
|
45
|
+
static AES256CCMDecrypt(secret, message) {
|
|
46
|
+
return EncryptionOperation.decrypt("aes-256-ccm", secret, message);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.EncryptionOperation = EncryptionOperation;
|
|
50
|
+
//# sourceMappingURL=EncryptionOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EncryptionOperation.js","sourceRoot":"","sources":["../src/EncryptionOperation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,MAAa,mBAAmB;IAEpB,MAAM,CAAC,OAAO,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAY;QAElE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvF,CAAC;IACO,MAAM,CAAC,OAAO,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAe;QAErE,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEhD,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAEhE,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/C,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAY;QAEhD,OAAO,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAe;QAEnD,OAAO,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;CACJ;AA3BD,kDA2BC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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.HashOperation = void 0;
|
|
27
|
+
const crypto = __importStar(require("node:crypto"));
|
|
28
|
+
class HashOperation {
|
|
29
|
+
static sha256Secret(secret, message) {
|
|
30
|
+
const hash = crypto.createHmac('sha256', secret);
|
|
31
|
+
hash.update(JSON.stringify(message));
|
|
32
|
+
return hash.digest('hex');
|
|
33
|
+
}
|
|
34
|
+
static sha256(message) {
|
|
35
|
+
const hash = crypto.createHash('sha256');
|
|
36
|
+
hash.update(JSON.stringify(message));
|
|
37
|
+
return hash.digest('hex');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.HashOperation = HashOperation;
|
|
41
|
+
//# sourceMappingURL=HashOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HashOperation.js","sourceRoot":"","sources":["../src/HashOperation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,MAAa,aAAa;IAEtB,MAAM,CAAC,YAAY,CAAC,MAAc,EAAE,OAAY;QAE5C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,OAAY;QAEtB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACJ;AAdD,sCAcC"}
|
package/dist/SignOperation.d.ts
CHANGED
package/dist/SignOperation.js
CHANGED
|
@@ -1,38 +1,10 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.SignOperation = void 0;
|
|
27
|
-
const
|
|
4
|
+
const HashOperation_1 = require("./HashOperation");
|
|
28
5
|
class SignOperation {
|
|
29
|
-
static sign(
|
|
30
|
-
|
|
31
|
-
for (let i in values)
|
|
32
|
-
message += "-" + values[i];
|
|
33
|
-
const hash = crypto.createHash('sha256');
|
|
34
|
-
hash.update(message);
|
|
35
|
-
return hash.digest('hex');
|
|
6
|
+
static sign(secret, message) {
|
|
7
|
+
return HashOperation_1.HashOperation.sha256Secret(secret, message);
|
|
36
8
|
}
|
|
37
9
|
static isValid(key, values, signature) {
|
|
38
10
|
return this.sign(key, values).toLowerCase() === signature.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignOperation.js","sourceRoot":"","sources":["../src/SignOperation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignOperation.js","sourceRoot":"","sources":["../src/SignOperation.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEhD,MAAa,aAAa;IAEtB,MAAM,CAAC,IAAI,CAAC,MAAc,EAAE,OAAY;QAEpC,OAAO,6BAAa,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,MAAW,EAAE,SAAiB;QAEtD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;IAC5E,CAAC;CACJ;AAVD,sCAUC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,9 +4,11 @@ export * from "./Countries";
|
|
|
4
4
|
export * from "./ConvertService";
|
|
5
5
|
export * from "./Country";
|
|
6
6
|
export * from "./CountryOperation";
|
|
7
|
+
export * from "./EncryptionOperation";
|
|
7
8
|
export * from "./ErrorOperation";
|
|
8
9
|
export * from "./FileOperation";
|
|
9
10
|
export * from "./GeoOperation";
|
|
11
|
+
export * from "./HashOperation";
|
|
10
12
|
export * from "./HTTPError";
|
|
11
13
|
export * from "./HTTPMethod";
|
|
12
14
|
export * from "./IStorage";
|
package/dist/index.js
CHANGED
|
@@ -20,9 +20,11 @@ __exportStar(require("./Countries"), exports);
|
|
|
20
20
|
__exportStar(require("./ConvertService"), exports);
|
|
21
21
|
__exportStar(require("./Country"), exports);
|
|
22
22
|
__exportStar(require("./CountryOperation"), exports);
|
|
23
|
+
__exportStar(require("./EncryptionOperation"), exports);
|
|
23
24
|
__exportStar(require("./ErrorOperation"), exports);
|
|
24
25
|
__exportStar(require("./FileOperation"), exports);
|
|
25
26
|
__exportStar(require("./GeoOperation"), exports);
|
|
27
|
+
__exportStar(require("./HashOperation"), exports);
|
|
26
28
|
__exportStar(require("./HTTPError"), exports);
|
|
27
29
|
__exportStar(require("./HTTPMethod"), exports);
|
|
28
30
|
__exportStar(require("./IStorage"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,mDAAiC;AACjC,4CAA0B;AAC1B,qDAAmC;AACnC,mDAAiC;AACjC,kDAAgC;AAChC,iDAA+B;AAC/B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,oDAAkC;AAClC,mDAAiC;AACjC,kDAAgC;AAChC,oDAAkC;AAClC,kDAAgC;AAChC,iDAA+B;AAC/B,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,+CAA6B;AAC7B,8CAA4B;AAC5B,mDAAiC;AACjC,4CAA0B;AAC1B,qDAAmC;AACnC,wDAAsC;AACtC,mDAAiC;AACjC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,oDAAkC;AAClC,mDAAiC;AACjC,kDAAgC;AAChC,oDAAkC;AAClC,kDAAgC;AAChC,iDAA+B;AAC/B,qDAAmC"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "namirasoft-core",
|
|
3
3
|
"description": "Namira Software Corporation Core NPM Package",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.8",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"scripts": {},
|
|
8
8
|
"author": "Amir Abolhasani",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@types/md5": "^2.3.5",
|
|
12
11
|
"@types/node": "^20.11.24",
|
|
13
12
|
"axios": "^1.6.7",
|
|
14
|
-
"md5": "^2.3.0",
|
|
15
13
|
"moment": "^2.30.1",
|
|
16
14
|
"phone": "^3.1.42"
|
|
17
15
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as crypto from 'node:crypto';
|
|
2
|
+
|
|
3
|
+
export class EncryptionOperation
|
|
4
|
+
{
|
|
5
|
+
private static encrypt(algorithm: string, secret: string, message: any)
|
|
6
|
+
{
|
|
7
|
+
const iv = Buffer.alloc(16, 0);
|
|
8
|
+
const cipher = crypto.createCipheriv(algorithm, secret, iv);
|
|
9
|
+
return cipher.update(JSON.stringify(message), 'utf8', 'hex') + cipher.final('hex');
|
|
10
|
+
}
|
|
11
|
+
private static decrypt(algorithm: string, secret: string, message: string): any
|
|
12
|
+
{
|
|
13
|
+
let encryptedText = Buffer.from(message, 'hex');
|
|
14
|
+
|
|
15
|
+
const iv = Buffer.alloc(16, 0);
|
|
16
|
+
const decipher = crypto.createDecipheriv(algorithm, secret, iv);
|
|
17
|
+
|
|
18
|
+
let decrypted = decipher.update(encryptedText);
|
|
19
|
+
decrypted = Buffer.concat([decrypted, decipher.final()]);
|
|
20
|
+
return JSON.parse(decrypted.toString());
|
|
21
|
+
}
|
|
22
|
+
static AES256CCMEncrypt(secret: string, message: any)
|
|
23
|
+
{
|
|
24
|
+
return EncryptionOperation.encrypt("aes-256-ccm", secret, message);
|
|
25
|
+
}
|
|
26
|
+
static AES256CCMDecrypt(secret: string, message: string): any
|
|
27
|
+
{
|
|
28
|
+
return EncryptionOperation.decrypt("aes-256-ccm", secret, message);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as crypto from 'node:crypto';
|
|
2
|
+
|
|
3
|
+
export class HashOperation
|
|
4
|
+
{
|
|
5
|
+
static sha256Secret(secret: string, message: any)
|
|
6
|
+
{
|
|
7
|
+
const hash = crypto.createHmac('sha256', secret);
|
|
8
|
+
hash.update(JSON.stringify(message));
|
|
9
|
+
return hash.digest('hex');
|
|
10
|
+
}
|
|
11
|
+
static sha256(message: any)
|
|
12
|
+
{
|
|
13
|
+
const hash = crypto.createHash('sha256');
|
|
14
|
+
hash.update(JSON.stringify(message));
|
|
15
|
+
return hash.digest('hex');
|
|
16
|
+
}
|
|
17
|
+
}
|
package/src/SignOperation.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { HashOperation } from "./HashOperation";
|
|
2
|
+
|
|
2
3
|
export class SignOperation
|
|
3
4
|
{
|
|
4
|
-
static sign(
|
|
5
|
+
static sign(secret: string, message: any)
|
|
5
6
|
{
|
|
6
|
-
|
|
7
|
-
for (let i in values)
|
|
8
|
-
message += "-" + values[i];
|
|
9
|
-
const hash = crypto.createHash('sha256');
|
|
10
|
-
hash.update(message);
|
|
11
|
-
return hash.digest('hex');
|
|
7
|
+
return HashOperation.sha256Secret(secret, message);
|
|
12
8
|
}
|
|
13
9
|
static isValid(key: string, values: any, signature: string)
|
|
14
10
|
{
|
package/src/index.ts
CHANGED
|
@@ -4,9 +4,11 @@ export * from "./Countries";
|
|
|
4
4
|
export * from "./ConvertService";
|
|
5
5
|
export * from "./Country";
|
|
6
6
|
export * from "./CountryOperation";
|
|
7
|
+
export * from "./EncryptionOperation";
|
|
7
8
|
export * from "./ErrorOperation";
|
|
8
9
|
export * from "./FileOperation";
|
|
9
10
|
export * from "./GeoOperation";
|
|
11
|
+
export * from "./HashOperation";
|
|
10
12
|
export * from "./HTTPError";
|
|
11
13
|
export * from "./HTTPMethod";
|
|
12
14
|
export * from "./IStorage";
|