almighty-tool 0.0.83 → 0.0.84

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/bun.lockb CHANGED
Binary file
@@ -39,5 +39,21 @@ declare const cryptoUtil: {
39
39
  * 解密
40
40
  */
41
41
  aesDecrypt(data: string, key: string, iv: string, algorithm?: forge.cipher.Algorithm): string;
42
+ /** ========= RSA 实现部分 ========= */
43
+ generateRsaKeyPair(bits?: number): {
44
+ publicKey: string;
45
+ privateKey: string;
46
+ };
47
+ publicEncrypt(publicKey: string, data: string): string;
48
+ privateDecrypt(privateKey: string, encrypted: string): string;
49
+ /** 长文本混合加密 */
50
+ longPublicEncrypt(publicKey: string, data: string): {
51
+ encryptedAesKey: string;
52
+ encryptedData: string;
53
+ };
54
+ longPrivateDecrypt(privateKey: string, encryptedAesKey: string, encryptedData: string): string;
55
+ /** 辅助方法 */
56
+ joinStrings(txt1: string, txt2: string): string;
57
+ splitJoinedStrings(str: string): string[];
42
58
  };
43
59
  export default cryptoUtil;
@@ -100,6 +100,48 @@ var cryptoUtil = {
100
100
  decipher.finish();
101
101
  return node_forge_1.default.util.decodeUtf8(decipher.output.data);
102
102
  },
103
+ /** ========= RSA 实现部分 ========= */
104
+ // 生成RSA密钥对
105
+ generateRsaKeyPair: function (bits) {
106
+ if (bits === void 0) { bits = 2048; }
107
+ var keypair = node_forge_1.default.pki.rsa.generateKeyPair({ bits: bits });
108
+ return {
109
+ publicKey: node_forge_1.default.pki.publicKeyToPem(keypair.publicKey),
110
+ privateKey: node_forge_1.default.pki.privateKeyToPem(keypair.privateKey),
111
+ };
112
+ },
113
+ // 公钥加密
114
+ publicEncrypt: function (publicKey, data) {
115
+ var key = node_forge_1.default.pki.publicKeyFromPem(publicKey);
116
+ // return window.btoa(key.encrypt(data, 'RSA-OAEP'));
117
+ return this.base64Encode(key.encrypt(data, 'RSA-OAEP'));
118
+ },
119
+ // 私钥解密
120
+ privateDecrypt: function (privateKey, encrypted) {
121
+ var key = node_forge_1.default.pki.privateKeyFromPem(privateKey);
122
+ return key.decrypt(this.base64Decode(encrypted), 'RSA-OAEP');
123
+ },
124
+ /** 长文本混合加密 */
125
+ longPublicEncrypt: function (publicKey, data) {
126
+ var _a = this.generateAesKeyAndIV(), aesKey = _a.key, iv = _a.iv;
127
+ return {
128
+ encryptedAesKey: this.publicEncrypt(publicKey, aesKey),
129
+ encryptedData: this.joinStrings(iv, this.aesEncrypt(data, aesKey, iv)),
130
+ };
131
+ },
132
+ longPrivateDecrypt: function (privateKey, encryptedAesKey, encryptedData) {
133
+ var aesKey = this.privateDecrypt(privateKey, encryptedAesKey);
134
+ var _a = this.splitJoinedStrings(encryptedData), iv = _a[0], data = _a[1];
135
+ return this.aesDecrypt(data, aesKey, iv);
136
+ },
137
+ /** 辅助方法 */
138
+ joinStrings: function (txt1, txt2) {
139
+ return [txt1, txt2].join('##');
140
+ },
141
+ splitJoinedStrings: function (str) {
142
+ var index = str.indexOf('##');
143
+ return index !== -1 ? [str.slice(0, index), str.slice(index + 2)] : [str];
144
+ },
103
145
  };
104
146
  exports.default = cryptoUtil;
105
147
  //# sourceMappingURL=crypto.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.util.js","sourceRoot":"","sources":["../../src/utils/crypto.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.util.js","sourceRoot":"","sources":["../../src/utils/crypto.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "almighty-tool",
3
- "version": "0.0.83",
3
+ "version": "0.0.84",
4
4
  "description": "almighty-tool",
5
5
  "author": "happy",
6
6
  "private": false,
@@ -46,7 +46,6 @@
46
46
  "mustache": "^4.2.0",
47
47
  "nock": "^13.3.0",
48
48
  "node-forge": "^1.3.1",
49
- "node-rsa": "^1.1.1",
50
49
  "qs": "^6.11.0",
51
50
  "tslib": "^2.4.0",
52
51
  "tsx": "^4.19.2",
@@ -1,66 +0,0 @@
1
- /// <reference types="node" />
2
- import crypto from 'crypto';
3
- /**
4
- * 这个heavyCryptoUtil与cryptoUtil的区别是: heavyCryptoUtil 用到了node 里的crypto, 并且heavyCryptoUtil 有 rsa 非对称加密算法。
5
- * 两个 util 不要同时引入,heavyCryptoUtil 的体积要比cryptoUtil 大很多。如果不需要 rsa 加密,就用cryptoUtil 就好了。
6
- */
7
- declare const heavyCryptoUtil: {
8
- /** 获取 uuid */
9
- uuid(): string;
10
- /** 获取md5摘要 */
11
- md5(value: crypto.BinaryLike, encoding?: crypto.BinaryToTextEncoding): string;
12
- /** 获取hmac摘要 */
13
- hmac(key: crypto.BinaryLike, bytes: string, algorithm?: string): string;
14
- /** 获取sha1摘要 */
15
- sha1(value: crypto.BinaryLike, encoding?: crypto.BinaryToTextEncoding): string;
16
- /** 获取sha384摘要 */
17
- sha384(value: crypto.BinaryLike, encoding?: crypto.BinaryToTextEncoding): string;
18
- /** 获取sha256摘要 */
19
- sha256(value: crypto.BinaryLike, encoding?: crypto.BinaryToTextEncoding): string;
20
- /** 获取sha512摘要 */
21
- sha512(value: crypto.BinaryLike, encoding?: crypto.BinaryToTextEncoding): string;
22
- /** 生成密钥对 */
23
- generateAesKeyAndIV(algorithm?: string): {
24
- key: string;
25
- iv: string;
26
- };
27
- /** 生成随机的字符串 */
28
- generateRandomString(length: number): string;
29
- /**
30
- * 加密
31
- *
32
- * iv-length: 192/8
33
- */
34
- aesEncrypt(data: string, key: string, iv: string, algorithm?: string): string;
35
- /**
36
- * 解密
37
- */
38
- aesDecrypt(data: string, key: string, iv: string, algorithm?: string): string;
39
- base64Encode(value: string): string;
40
- base64Decode(value: string): string;
41
- privateEncrypt(privateKey: string | Buffer, buffer: string | Buffer): string;
42
- publicDecrypt(publicKey: string | Buffer, buffer: string | Buffer): string;
43
- publicEncrypt(publicKey: string | Buffer, buffer: string | Buffer): string;
44
- privateDecrypt(privateKey: string | Buffer, buffer: string | Buffer): string;
45
- generateRsaKeyPair(bits?: number): {
46
- publicKey: string;
47
- privateKey: string;
48
- };
49
- /** 私钥加密: 对长文字进行 */
50
- longPrivateEncrypt(privateKey: string | Buffer, buffer: string | Buffer): {
51
- encryptedAesKey: string;
52
- encryptedData: string;
53
- };
54
- /** 公钥解密: 对长文字进行 */
55
- longPublicDecrypt(publicKey: string | Buffer, encryptedAesKey: string, encryptedData: string): string;
56
- /** 公钥加密: 对长文字进行 */
57
- longPublicEncrypt(publicKey: string | Buffer, buffer: string | Buffer): {
58
- encryptedAesKey: string;
59
- encryptedData: string;
60
- };
61
- /** 私钥解密: 对长文字进行 */
62
- longPrivatgeDecrypt(privateKey: string | Buffer, encryptedAesKey: string, encryptedData: string): string;
63
- joinStrings(txt1: string, txt2: string): string;
64
- splitJoinedStrings(joinedString: string): string[];
65
- };
66
- export default heavyCryptoUtil;
@@ -1,171 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var crypto_1 = (0, tslib_1.__importDefault)(require("crypto"));
5
- var node_rsa_1 = (0, tslib_1.__importDefault)(require("node-rsa"));
6
- var uuid_1 = require("uuid");
7
- /**
8
- * 这个heavyCryptoUtil与cryptoUtil的区别是: heavyCryptoUtil 用到了node 里的crypto, 并且heavyCryptoUtil 有 rsa 非对称加密算法。
9
- * 两个 util 不要同时引入,heavyCryptoUtil 的体积要比cryptoUtil 大很多。如果不需要 rsa 加密,就用cryptoUtil 就好了。
10
- */
11
- var heavyCryptoUtil = {
12
- /** 获取 uuid */
13
- uuid: function () {
14
- return (0, uuid_1.v4)();
15
- },
16
- /** 获取md5摘要 */
17
- md5: function (value, encoding) {
18
- if (encoding === void 0) { encoding = 'hex'; }
19
- return crypto_1.default.createHash('md5').update(value).digest(encoding);
20
- },
21
- /** 获取hmac摘要 */
22
- hmac: function (key, bytes, algorithm) {
23
- if (algorithm === void 0) { algorithm = 'sha256'; }
24
- var hmac = crypto_1.default.createHmac(algorithm, key);
25
- hmac.update(bytes);
26
- return hmac.digest('hex');
27
- },
28
- /** 获取sha1摘要 */
29
- sha1: function (value, encoding) {
30
- if (encoding === void 0) { encoding = 'hex'; }
31
- return crypto_1.default.createHash('sha1').update(value).digest(encoding);
32
- },
33
- /** 获取sha384摘要 */
34
- sha384: function (value, encoding) {
35
- if (encoding === void 0) { encoding = 'hex'; }
36
- return crypto_1.default.createHash('sha384').update(value).digest(encoding);
37
- },
38
- /** 获取sha256摘要 */
39
- sha256: function (value, encoding) {
40
- if (encoding === void 0) { encoding = 'hex'; }
41
- return crypto_1.default.createHash('sha256').update(value).digest(encoding);
42
- },
43
- /** 获取sha512摘要 */
44
- sha512: function (value, encoding) {
45
- if (encoding === void 0) { encoding = 'hex'; }
46
- return crypto_1.default.createHash('sha512').update(value).digest(encoding);
47
- },
48
- /** 生成密钥对 */
49
- generateAesKeyAndIV: function (algorithm) {
50
- if (algorithm === void 0) { algorithm = 'aes-128-cbc'; }
51
- return {
52
- key: heavyCryptoUtil.generateRandomString(Number(algorithm.split('-')[1]) / 8),
53
- iv: heavyCryptoUtil.generateRandomString(Number(algorithm.split('-')[1]) / 8),
54
- };
55
- },
56
- /** 生成随机的字符串 */
57
- generateRandomString: function (length) {
58
- var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
59
- var randomString = '';
60
- for (var i = 0; i < length; i++) {
61
- var randomIndex = Math.floor(Math.random() * characters.length);
62
- randomString += characters[randomIndex];
63
- }
64
- return randomString;
65
- },
66
- /**
67
- * 加密
68
- *
69
- * iv-length: 192/8
70
- */
71
- aesEncrypt: function (data, key, iv, algorithm) {
72
- if (algorithm === void 0) { algorithm = 'aes-128-cbc'; }
73
- var cipherChunks = [];
74
- var cipher = crypto_1.default.createCipheriv(algorithm, key, iv);
75
- cipher.setAutoPadding(true);
76
- cipherChunks.push(cipher.update(data, 'utf8', 'base64'));
77
- cipherChunks.push(cipher.final('base64'));
78
- return cipherChunks.join('');
79
- },
80
- /**
81
- * 解密
82
- */
83
- aesDecrypt: function (data, key, iv, algorithm) {
84
- if (algorithm === void 0) { algorithm = 'aes-128-cbc'; }
85
- var cipherChunks = [];
86
- var decipher = crypto_1.default.createDecipheriv(algorithm, key, iv);
87
- decipher.setAutoPadding(true);
88
- cipherChunks.push(decipher.update(data, 'base64', 'utf8'));
89
- cipherChunks.push(decipher.final('utf8'));
90
- return cipherChunks.join('');
91
- },
92
- // Base64 编码
93
- base64Encode: function (value) {
94
- return Buffer.from(value).toString('base64');
95
- },
96
- // Base64 解码
97
- base64Decode: function (value) {
98
- return Buffer.from(value, 'base64').toString();
99
- },
100
- // 以下是rsa相关的方法
101
- // 私钥加密
102
- privateEncrypt: function (privateKey, buffer) {
103
- var key = new node_rsa_1.default(privateKey);
104
- return key.encryptPrivate(buffer, 'base64');
105
- },
106
- // 公钥解密
107
- publicDecrypt: function (publicKey, buffer) {
108
- var key = new node_rsa_1.default(publicKey);
109
- return key.decryptPublic(buffer, 'utf8');
110
- },
111
- // 公钥加密
112
- publicEncrypt: function (publicKey, buffer) {
113
- var key = new node_rsa_1.default(publicKey);
114
- return key.encrypt(buffer, 'base64');
115
- },
116
- // 私钥解密
117
- privateDecrypt: function (privateKey, buffer) {
118
- var key = new node_rsa_1.default(privateKey);
119
- return key.decrypt(buffer, 'utf8');
120
- },
121
- // 生成 RSA 密钥对
122
- generateRsaKeyPair: function (bits) {
123
- if (bits === void 0) { bits = 2048; }
124
- var key = new node_rsa_1.default({ b: bits });
125
- return { publicKey: key.exportKey('public'), privateKey: key.exportKey('private') };
126
- },
127
- /** 私钥加密: 对长文字进行 */
128
- longPrivateEncrypt: function (privateKey, buffer) {
129
- var _a = heavyCryptoUtil.generateAesKeyAndIV(), aesKey = _a.key, aesIv = _a.iv;
130
- var encryptedAesKey = heavyCryptoUtil.privateEncrypt(privateKey, aesKey);
131
- var encryptedData = heavyCryptoUtil.joinStrings(aesIv, heavyCryptoUtil.aesEncrypt(buffer.toString(), aesKey, aesIv));
132
- return {
133
- encryptedAesKey: encryptedAesKey,
134
- encryptedData: encryptedData,
135
- };
136
- },
137
- /** 公钥解密: 对长文字进行 */
138
- longPublicDecrypt: function (publicKey, encryptedAesKey, encryptedData) {
139
- var key = heavyCryptoUtil.publicDecrypt(publicKey, encryptedAesKey).toString();
140
- var _a = heavyCryptoUtil.splitJoinedStrings(encryptedData), iv = _a[0], encrypted = _a[1];
141
- return heavyCryptoUtil.aesDecrypt(encrypted, key, iv);
142
- },
143
- /** 公钥加密: 对长文字进行 */
144
- longPublicEncrypt: function (publicKey, buffer) {
145
- var _a = heavyCryptoUtil.generateAesKeyAndIV(), aesKey = _a.key, aesIv = _a.iv;
146
- var encryptedAesKey = heavyCryptoUtil.publicEncrypt(publicKey, aesKey);
147
- var encryptedData = heavyCryptoUtil.joinStrings(aesIv, heavyCryptoUtil.aesEncrypt(buffer.toString(), aesKey, aesIv));
148
- return {
149
- encryptedAesKey: encryptedAesKey,
150
- encryptedData: encryptedData,
151
- };
152
- },
153
- /** 私钥解密: 对长文字进行 */
154
- longPrivatgeDecrypt: function (privateKey, encryptedAesKey, encryptedData) {
155
- var key = heavyCryptoUtil.privateDecrypt(privateKey, encryptedAesKey).toString();
156
- var _a = heavyCryptoUtil.splitJoinedStrings(encryptedData), iv = _a[0], encrypted = _a[1];
157
- return heavyCryptoUtil.aesDecrypt(encrypted, key, iv);
158
- },
159
- joinStrings: function (txt1, txt2) {
160
- return [txt1, txt2].join('##');
161
- },
162
- splitJoinedStrings: function (joinedString) {
163
- var index = joinedString.indexOf('##');
164
- if (index !== -1) {
165
- return [joinedString.slice(0, index), joinedString.slice(index + 2)];
166
- }
167
- return [joinedString];
168
- },
169
- };
170
- exports.default = heavyCryptoUtil;
171
- //# sourceMappingURL=heavy-crypto.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"heavy-crypto.util.js","sourceRoot":"","sources":["../../src/utils/heavy-crypto.util.ts"],"names":[],"mappings":"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"}