pixel-react 1.14.87 → 1.14.89

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.
Files changed (116) hide show
  1. package/README.md +75 -75
  2. package/lib/_virtual/index10.js +2 -2
  3. package/lib/_virtual/index11.js +2 -2
  4. package/lib/_virtual/index12.js +2 -2
  5. package/lib/_virtual/index9.js +2 -2
  6. package/lib/assets/icons/dataset_list.svg.js +1 -1
  7. package/lib/assets/icons/dataset_list.svg.js.map +1 -1
  8. package/lib/assets/icons/spinner.svg.js +1 -1
  9. package/lib/assets/icons/spinner.svg.js.map +1 -1
  10. package/lib/components/Chip/Chip.js +1 -1
  11. package/lib/components/Chip/Chip.js.map +1 -1
  12. package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js +9 -0
  13. package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js.map +1 -1
  14. package/lib/components/Select/Select.js +3 -2
  15. package/lib/components/Select/Select.js.map +1 -1
  16. package/lib/index.cjs +1362 -6766
  17. package/lib/index.cjs.map +1 -1
  18. package/lib/index.d.ts +1 -1
  19. package/lib/node_modules/js-beautify/js/src/css/beautifier.js +1 -1
  20. package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
  21. package/lib/node_modules/js-beautify/js/src/css/options.js +1 -1
  22. package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
  23. package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
  24. package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
  25. package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
  26. package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
  27. package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
  28. package/lib/node_modules/libphonenumber-js/es6/AsYouType.js +6 -8
  29. package/lib/node_modules/libphonenumber-js/es6/AsYouType.js.map +1 -1
  30. package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js +4 -4
  31. package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js.map +1 -1
  32. package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js +4 -4
  33. package/lib/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js.map +1 -1
  34. package/lib/node_modules/libphonenumber-js/es6/AsYouTypeParser.js +41 -28
  35. package/lib/node_modules/libphonenumber-js/es6/AsYouTypeParser.js.map +1 -1
  36. package/lib/node_modules/libphonenumber-js/es6/AsYouTypeState.js +21 -17
  37. package/lib/node_modules/libphonenumber-js/es6/AsYouTypeState.js.map +1 -1
  38. package/lib/node_modules/libphonenumber-js/es6/PhoneNumber.js +1 -1
  39. package/lib/node_modules/libphonenumber-js/es6/PhoneNumber.js.map +1 -1
  40. package/lib/node_modules/libphonenumber-js/es6/format.js +50 -91
  41. package/lib/node_modules/libphonenumber-js/es6/format.js.map +1 -1
  42. package/lib/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js +39 -6
  43. package/lib/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js.map +1 -1
  44. package/lib/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js +13 -10
  45. package/lib/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js.map +1 -1
  46. package/lib/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js +10 -8
  47. package/lib/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map +1 -1
  48. package/lib/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js +15 -5
  49. package/lib/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js.map +1 -1
  50. package/lib/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js +2 -2
  51. package/lib/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js.map +1 -1
  52. package/lib/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js +30 -8
  53. package/lib/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js.map +1 -1
  54. package/lib/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js +4 -4
  55. package/lib/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js.map +1 -1
  56. package/lib/node_modules/libphonenumber-js/es6/isPossible.js +4 -4
  57. package/lib/node_modules/libphonenumber-js/es6/isPossible.js.map +1 -1
  58. package/lib/node_modules/libphonenumber-js/es6/metadata.js +1 -1
  59. package/lib/node_modules/libphonenumber-js/es6/metadata.js.map +1 -1
  60. package/lib/node_modules/libphonenumber-js/es6/parse.js +9 -7
  61. package/lib/node_modules/libphonenumber-js/es6/parse.js.map +1 -1
  62. package/lib/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js +7 -7
  63. package/lib/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js.map +1 -1
  64. package/lib/node_modules/libphonenumber-js/metadata.min.json.js +11 -11
  65. package/lib/node_modules/libphonenumber-js/metadata.min.json.js.map +1 -1
  66. package/lib/node_modules/prop-types/index.js +1 -1
  67. package/lib/node_modules/react-day-picker/dist/esm/DayPicker.js +33 -21
  68. package/lib/node_modules/react-day-picker/dist/esm/DayPicker.js.map +1 -1
  69. package/lib/node_modules/react-day-picker/dist/esm/classes/DateLib.js +41 -0
  70. package/lib/node_modules/react-day-picker/dist/esm/classes/DateLib.js.map +1 -1
  71. package/lib/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js +3 -2
  72. package/lib/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js.map +1 -1
  73. package/lib/node_modules/react-day-picker/dist/esm/labels/labelGrid.js +3 -2
  74. package/lib/node_modules/react-day-picker/dist/esm/labels/labelGrid.js.map +1 -1
  75. package/lib/node_modules/react-hook-form/dist/index.esm.js +60 -38
  76. package/lib/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
  77. package/lib/node_modules/react-virtuoso/dist/index.js +397 -397
  78. package/lib/node_modules/react-virtuoso/dist/index.js.map +1 -1
  79. package/lib/node_modules/ua-parser-js/src/ua-parser.js +85 -71
  80. package/lib/node_modules/ua-parser-js/src/ua-parser.js.map +1 -1
  81. package/lib/styles.css +1 -1
  82. package/lib/styles.css.map +1 -1
  83. package/lib/utils/getEncryptedData/getEncryptedData.d.ts +1 -1
  84. package/lib/utils/getEncryptedData/getEncryptedData.js +17 -8
  85. package/lib/utils/getEncryptedData/getEncryptedData.js.map +1 -1
  86. package/package.json +106 -107
  87. package/lib/node_modules/jsencrypt/lib/JSEncrypt.js +0 -246
  88. package/lib/node_modules/jsencrypt/lib/JSEncrypt.js.map +0 -1
  89. package/lib/node_modules/jsencrypt/lib/JSEncryptRSAKey.js +0 -325
  90. package/lib/node_modules/jsencrypt/lib/JSEncryptRSAKey.js.map +0 -1
  91. package/lib/node_modules/jsencrypt/lib/index.js +0 -6
  92. package/lib/node_modules/jsencrypt/lib/index.js.map +0 -1
  93. package/lib/node_modules/jsencrypt/lib/lib/asn1js/asn1.js +0 -570
  94. package/lib/node_modules/jsencrypt/lib/lib/asn1js/asn1.js.map +0 -1
  95. package/lib/node_modules/jsencrypt/lib/lib/asn1js/base64.js +0 -88
  96. package/lib/node_modules/jsencrypt/lib/lib/asn1js/base64.js.map +0 -1
  97. package/lib/node_modules/jsencrypt/lib/lib/asn1js/hex.js +0 -66
  98. package/lib/node_modules/jsencrypt/lib/lib/asn1js/hex.js.map +0 -1
  99. package/lib/node_modules/jsencrypt/lib/lib/asn1js/int10.js +0 -87
  100. package/lib/node_modules/jsencrypt/lib/lib/asn1js/int10.js.map +0 -1
  101. package/lib/node_modules/jsencrypt/lib/lib/jsbn/base64.js +0 -65
  102. package/lib/node_modules/jsencrypt/lib/lib/jsbn/base64.js.map +0 -1
  103. package/lib/node_modules/jsencrypt/lib/lib/jsbn/jsbn.js +0 -1700
  104. package/lib/node_modules/jsencrypt/lib/lib/jsbn/jsbn.js.map +0 -1
  105. package/lib/node_modules/jsencrypt/lib/lib/jsbn/prng4.js +0 -48
  106. package/lib/node_modules/jsencrypt/lib/lib/jsbn/prng4.js.map +0 -1
  107. package/lib/node_modules/jsencrypt/lib/lib/jsbn/rng.js +0 -77
  108. package/lib/node_modules/jsencrypt/lib/lib/jsbn/rng.js.map +0 -1
  109. package/lib/node_modules/jsencrypt/lib/lib/jsbn/rsa.js +0 -415
  110. package/lib/node_modules/jsencrypt/lib/lib/jsbn/rsa.js.map +0 -1
  111. package/lib/node_modules/jsencrypt/lib/lib/jsbn/sha256.js +0 -307
  112. package/lib/node_modules/jsencrypt/lib/lib/jsbn/sha256.js.map +0 -1
  113. package/lib/node_modules/jsencrypt/lib/lib/jsbn/util.js +0 -61
  114. package/lib/node_modules/jsencrypt/lib/lib/jsbn/util.js.map +0 -1
  115. package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js +0 -1559
  116. package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js.map +0 -1
@@ -1,415 +0,0 @@
1
- import { BigInteger, parseBigInt, nbi } from './jsbn.js';
2
- import { SecureRandom } from './rng.js';
3
- import { rstr_sha256 } from './sha256.js';
4
-
5
- // Depends on jsbn.js and rng.js
6
- // Version 1.1: support utf-8 encoding in pkcs1pad2
7
- // convert a (hex) string to a bignum object
8
- // function linebrk(s,n) {
9
- // var ret = "";
10
- // var i = 0;
11
- // while(i + n < s.length) {
12
- // ret += s.substring(i,i+n) + "\n";
13
- // i += n;
14
- // }
15
- // return ret + s.substring(i,s.length);
16
- // }
17
- // function byte2Hex(b) {
18
- // if(b < 0x10)
19
- // return "0" + b.toString(16);
20
- // else
21
- // return b.toString(16);
22
- // }
23
- function pkcs1pad1(s, n) {
24
- if (n < s.length + 22) {
25
- console.error("Message too long for RSA");
26
- return null;
27
- }
28
- var len = n - s.length - 6;
29
- var filler = "";
30
- for (var f = 0; f < len; f += 2) {
31
- filler += "ff";
32
- }
33
- var m = "0001" + filler + "00" + s;
34
- return parseBigInt(m, 16);
35
- }
36
- // PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint
37
- function pkcs1pad2(s, n) {
38
- if (n < s.length + 11) {
39
- // TODO: fix for utf-8
40
- console.error("Message too long for RSA");
41
- return null;
42
- }
43
- var ba = [];
44
- var i = s.length - 1;
45
- while (i >= 0 && n > 0) {
46
- var c = s.charCodeAt(i--);
47
- if (c < 128) {
48
- // encode using utf-8
49
- ba[--n] = c;
50
- } else if (c > 127 && c < 2048) {
51
- ba[--n] = c & 63 | 128;
52
- ba[--n] = c >> 6 | 192;
53
- } else {
54
- ba[--n] = c & 63 | 128;
55
- ba[--n] = c >> 6 & 63 | 128;
56
- ba[--n] = c >> 12 | 224;
57
- }
58
- }
59
- ba[--n] = 0;
60
- var rng = new SecureRandom();
61
- var x = [];
62
- while (n > 2) {
63
- // random non-zero pad
64
- x[0] = 0;
65
- while (x[0] == 0) {
66
- rng.nextBytes(x);
67
- }
68
- ba[--n] = x[0];
69
- }
70
- ba[--n] = 2;
71
- ba[--n] = 0;
72
- return new BigInteger(ba);
73
- }
74
- // PKCS#1 (OAEP) mask generation function, using SHA-256
75
- function oaep_mgf1_arr(seed, len, hashFunc) {
76
- var mask = "",
77
- i = 0;
78
- while (mask.length < len) {
79
- mask += hashFunc(String.fromCharCode.apply(String, seed.concat([(i & 0xff000000) >> 24, (i & 0x00ff0000) >> 16, (i & 0x0000ff00) >> 8, i & 0x000000ff])));
80
- i += 1;
81
- }
82
- return mask;
83
- }
84
- var SHA256_SIZE = 32;
85
- // PKCS#1 (OAEP) pad input string s to n bytes, and return a BigInteger
86
- function oaep_pad(s, n) {
87
- var hashLen = SHA256_SIZE;
88
- var hashFunc = rstr_sha256;
89
- if (s.length + 2 * hashLen + 2 > n) {
90
- throw "Message too long for RSA";
91
- }
92
- var PS = "",
93
- i;
94
- for (i = 0; i < n - s.length - 2 * hashLen - 2; i += 1) {
95
- PS += "\x00";
96
- }
97
- var DB = hashFunc("") + PS + "\x01" + s,
98
- seed = new Array(hashLen);
99
- new SecureRandom().nextBytes(seed);
100
- var dbMask = oaep_mgf1_arr(seed, DB.length, hashFunc),
101
- maskedDB = [];
102
- for (i = 0; i < DB.length; i += 1) {
103
- maskedDB[i] = DB.charCodeAt(i) ^ dbMask.charCodeAt(i);
104
- }
105
- var seedMask = oaep_mgf1_arr(maskedDB, seed.length, hashFunc),
106
- maskedSeed = [0];
107
- for (i = 0; i < seed.length; i += 1) {
108
- maskedSeed[i + 1] = seed[i] ^ seedMask.charCodeAt(i);
109
- }
110
- return new BigInteger(maskedSeed.concat(maskedDB));
111
- }
112
- // "empty" RSA key constructor
113
- var RSAKey = /** @class */function () {
114
- function RSAKey() {
115
- this.n = null;
116
- this.e = 0;
117
- this.d = null;
118
- this.p = null;
119
- this.q = null;
120
- this.dmp1 = null;
121
- this.dmq1 = null;
122
- this.coeff = null;
123
- }
124
- //#region PROTECTED
125
- // protected
126
- // RSAKey.prototype.doPublic = RSADoPublic;
127
- // Perform raw public operation on "x": return x^e (mod n)
128
- RSAKey.prototype.doPublic = function (x) {
129
- return x.modPowInt(this.e, this.n);
130
- };
131
- // RSAKey.prototype.doPrivate = RSADoPrivate;
132
- // Perform raw private operation on "x": return x^d (mod n)
133
- RSAKey.prototype.doPrivate = function (x) {
134
- if (this.p == null || this.q == null) {
135
- return x.modPow(this.d, this.n);
136
- }
137
- // TODO: re-calculate any missing CRT params
138
- var xp = x.mod(this.p).modPow(this.dmp1, this.p);
139
- var xq = x.mod(this.q).modPow(this.dmq1, this.q);
140
- while (xp.compareTo(xq) < 0) {
141
- xp = xp.add(this.p);
142
- }
143
- return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);
144
- };
145
- //#endregion PROTECTED
146
- //#region PUBLIC
147
- // RSAKey.prototype.setPublic = RSASetPublic;
148
- // Set the public key fields N and e from hex strings
149
- RSAKey.prototype.setPublic = function (N, E) {
150
- if (N != null && E != null && N.length > 0 && E.length > 0) {
151
- this.n = parseBigInt(N, 16);
152
- this.e = parseInt(E, 16);
153
- } else {
154
- console.error("Invalid RSA public key");
155
- }
156
- };
157
- // RSAKey.prototype.encrypt = RSAEncrypt;
158
- // Return the PKCS#1 RSA encryption of "text" as an even-length hex string
159
- RSAKey.prototype.encrypt = function (text, paddingFunction) {
160
- if (typeof paddingFunction === 'undefined') {
161
- paddingFunction = pkcs1pad2;
162
- }
163
- var maxLength = this.n.bitLength() + 7 >> 3;
164
- var m = paddingFunction(text, maxLength);
165
- if (m == null) {
166
- return null;
167
- }
168
- var c = this.doPublic(m);
169
- if (c == null) {
170
- return null;
171
- }
172
- var h = c.toString(16);
173
- var length = h.length;
174
- // fix zero before result
175
- for (var i = 0; i < maxLength * 2 - length; i++) {
176
- h = "0" + h;
177
- }
178
- return h;
179
- };
180
- // RSAKey.prototype.setPrivate = RSASetPrivate;
181
- // Set the private key fields N, e, and d from hex strings
182
- RSAKey.prototype.setPrivate = function (N, E, D) {
183
- if (N != null && E != null && N.length > 0 && E.length > 0) {
184
- this.n = parseBigInt(N, 16);
185
- this.e = parseInt(E, 16);
186
- this.d = parseBigInt(D, 16);
187
- } else {
188
- console.error("Invalid RSA private key");
189
- }
190
- };
191
- // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;
192
- // Set the private key fields N, e, d and CRT params from hex strings
193
- RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {
194
- if (N != null && E != null && N.length > 0 && E.length > 0) {
195
- this.n = parseBigInt(N, 16);
196
- this.e = parseInt(E, 16);
197
- this.d = parseBigInt(D, 16);
198
- this.p = parseBigInt(P, 16);
199
- this.q = parseBigInt(Q, 16);
200
- this.dmp1 = parseBigInt(DP, 16);
201
- this.dmq1 = parseBigInt(DQ, 16);
202
- this.coeff = parseBigInt(C, 16);
203
- } else {
204
- console.error("Invalid RSA private key");
205
- }
206
- };
207
- // RSAKey.prototype.generate = RSAGenerate;
208
- // Generate a new random private key B bits long, using public expt E
209
- RSAKey.prototype.generate = function (B, E) {
210
- var rng = new SecureRandom();
211
- var qs = B >> 1;
212
- this.e = parseInt(E, 16);
213
- var ee = new BigInteger(E, 16);
214
- for (;;) {
215
- for (;;) {
216
- this.p = new BigInteger(B - qs, 1, rng);
217
- if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {
218
- break;
219
- }
220
- }
221
- for (;;) {
222
- this.q = new BigInteger(qs, 1, rng);
223
- if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {
224
- break;
225
- }
226
- }
227
- if (this.p.compareTo(this.q) <= 0) {
228
- var t = this.p;
229
- this.p = this.q;
230
- this.q = t;
231
- }
232
- var p1 = this.p.subtract(BigInteger.ONE);
233
- var q1 = this.q.subtract(BigInteger.ONE);
234
- var phi = p1.multiply(q1);
235
- if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {
236
- this.n = this.p.multiply(this.q);
237
- this.d = ee.modInverse(phi);
238
- this.dmp1 = this.d.mod(p1);
239
- this.dmq1 = this.d.mod(q1);
240
- this.coeff = this.q.modInverse(this.p);
241
- break;
242
- }
243
- }
244
- };
245
- // RSAKey.prototype.decrypt = RSADecrypt;
246
- // Return the PKCS#1 RSA decryption of "ctext".
247
- // "ctext" is an even-length hex string and the output is a plain string.
248
- RSAKey.prototype.decrypt = function (ctext) {
249
- var c = parseBigInt(ctext, 16);
250
- var m = this.doPrivate(c);
251
- if (m == null) {
252
- return null;
253
- }
254
- return pkcs1unpad2(m, this.n.bitLength() + 7 >> 3);
255
- };
256
- // Generate a new random private key B bits long, using public expt E
257
- RSAKey.prototype.generateAsync = function (B, E, callback) {
258
- var rng = new SecureRandom();
259
- var qs = B >> 1;
260
- this.e = parseInt(E, 16);
261
- var ee = new BigInteger(E, 16);
262
- var rsa = this;
263
- // These functions have non-descript names because they were originally for(;;) loops.
264
- // I don't know about cryptography to give them better names than loop1-4.
265
- var loop1 = function () {
266
- var loop4 = function () {
267
- if (rsa.p.compareTo(rsa.q) <= 0) {
268
- var t = rsa.p;
269
- rsa.p = rsa.q;
270
- rsa.q = t;
271
- }
272
- var p1 = rsa.p.subtract(BigInteger.ONE);
273
- var q1 = rsa.q.subtract(BigInteger.ONE);
274
- var phi = p1.multiply(q1);
275
- if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {
276
- rsa.n = rsa.p.multiply(rsa.q);
277
- rsa.d = ee.modInverse(phi);
278
- rsa.dmp1 = rsa.d.mod(p1);
279
- rsa.dmq1 = rsa.d.mod(q1);
280
- rsa.coeff = rsa.q.modInverse(rsa.p);
281
- setTimeout(function () {
282
- callback();
283
- }, 0); // escape
284
- } else {
285
- setTimeout(loop1, 0);
286
- }
287
- };
288
- var loop3 = function () {
289
- rsa.q = nbi();
290
- rsa.q.fromNumberAsync(qs, 1, rng, function () {
291
- rsa.q.subtract(BigInteger.ONE).gcda(ee, function (r) {
292
- if (r.compareTo(BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {
293
- setTimeout(loop4, 0);
294
- } else {
295
- setTimeout(loop3, 0);
296
- }
297
- });
298
- });
299
- };
300
- var loop2 = function () {
301
- rsa.p = nbi();
302
- rsa.p.fromNumberAsync(B - qs, 1, rng, function () {
303
- rsa.p.subtract(BigInteger.ONE).gcda(ee, function (r) {
304
- if (r.compareTo(BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {
305
- setTimeout(loop3, 0);
306
- } else {
307
- setTimeout(loop2, 0);
308
- }
309
- });
310
- });
311
- };
312
- setTimeout(loop2, 0);
313
- };
314
- setTimeout(loop1, 0);
315
- };
316
- RSAKey.prototype.sign = function (text, digestMethod, digestName) {
317
- var header = getDigestHeader(digestName);
318
- var digest = header + digestMethod(text).toString();
319
- var maxLength = this.n.bitLength() / 4;
320
- var m = pkcs1pad1(digest, maxLength);
321
- if (m == null) {
322
- return null;
323
- }
324
- var c = this.doPrivate(m);
325
- if (c == null) {
326
- return null;
327
- }
328
- var h = c.toString(16);
329
- var length = h.length;
330
- // fix zero before result
331
- for (var i = 0; i < maxLength - length; i++) {
332
- h = "0" + h;
333
- }
334
- return h;
335
- };
336
- RSAKey.prototype.verify = function (text, signature, digestMethod) {
337
- var c = parseBigInt(signature, 16);
338
- var m = this.doPublic(c);
339
- if (m == null) {
340
- return null;
341
- }
342
- var unpadded = m.toString(16).replace(/^1f+00/, "");
343
- var digest = removeDigestHeader(unpadded);
344
- return digest == digestMethod(text).toString();
345
- };
346
- return RSAKey;
347
- }();
348
- // Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext
349
- function pkcs1unpad2(d, n) {
350
- var b = d.toByteArray();
351
- var i = 0;
352
- while (i < b.length && b[i] == 0) {
353
- ++i;
354
- }
355
- if (b.length - i != n - 1 || b[i] != 2) {
356
- return null;
357
- }
358
- ++i;
359
- while (b[i] != 0) {
360
- if (++i >= b.length) {
361
- return null;
362
- }
363
- }
364
- var ret = "";
365
- while (++i < b.length) {
366
- var c = b[i] & 255;
367
- if (c < 128) {
368
- // utf-8 decode
369
- ret += String.fromCharCode(c);
370
- } else if (c > 191 && c < 224) {
371
- ret += String.fromCharCode((c & 31) << 6 | b[i + 1] & 63);
372
- ++i;
373
- } else {
374
- ret += String.fromCharCode((c & 15) << 12 | (b[i + 1] & 63) << 6 | b[i + 2] & 63);
375
- i += 2;
376
- }
377
- }
378
- return ret;
379
- }
380
- // https://tools.ietf.org/html/rfc3447#page-43
381
- var DIGEST_HEADERS = {
382
- md2: "3020300c06082a864886f70d020205000410",
383
- md5: "3020300c06082a864886f70d020505000410",
384
- sha1: "3021300906052b0e03021a05000414",
385
- sha224: "302d300d06096086480165030402040500041c",
386
- sha256: "3031300d060960864801650304020105000420",
387
- sha384: "3041300d060960864801650304020205000430",
388
- sha512: "3051300d060960864801650304020305000440",
389
- ripemd160: "3021300906052b2403020105000414"
390
- };
391
- function getDigestHeader(name) {
392
- return DIGEST_HEADERS[name] || "";
393
- }
394
- function removeDigestHeader(str) {
395
- for (var name_1 in DIGEST_HEADERS) {
396
- if (DIGEST_HEADERS.hasOwnProperty(name_1)) {
397
- var header = DIGEST_HEADERS[name_1];
398
- var len = header.length;
399
- if (str.substring(0, len) == header) {
400
- return str.substring(len);
401
- }
402
- }
403
- }
404
- return str;
405
- }
406
- // Return the PKCS#1 RSA encryption of "text" as a Base64-encoded string
407
- // function RSAEncryptB64(text) {
408
- // var h = this.encrypt(text);
409
- // if(h) return hex2b64(h); else return null;
410
- // }
411
- // public
412
- // RSAKey.prototype.encrypt_b64 = RSAEncryptB64;
413
-
414
- export { RSAKey, oaep_pad };
415
- //# sourceMappingURL=rsa.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rsa.js","sources":["../../../../../../node_modules/jsencrypt/lib/lib/jsbn/rsa.js"],"sourcesContent":["// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\nimport { BigInteger, nbi, parseBigInt } from \"./jsbn\";\nimport { SecureRandom } from \"./rng\";\nimport { rstr_sha256 } from './sha256';\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return parseBigInt(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new BigInteger(ba);\n}\n// PKCS#1 (OAEP) mask generation function, using SHA-256\nfunction oaep_mgf1_arr(seed, len, hashFunc) {\n var mask = \"\", i = 0;\n while (mask.length < len) {\n mask += hashFunc(String.fromCharCode.apply(String, seed.concat([\n (i & 0xff000000) >> 24,\n (i & 0x00ff0000) >> 16,\n (i & 0x0000ff00) >> 8,\n i & 0x000000ff,\n ])));\n i += 1;\n }\n return mask;\n}\nvar SHA256_SIZE = 32;\n// PKCS#1 (OAEP) pad input string s to n bytes, and return a BigInteger\nexport function oaep_pad(s, n) {\n var hashLen = SHA256_SIZE;\n var hashFunc = rstr_sha256;\n if (s.length + 2 * hashLen + 2 > n) {\n throw \"Message too long for RSA\";\n }\n var PS = \"\", i;\n for (i = 0; i < n - s.length - 2 * hashLen - 2; i += 1) {\n PS += \"\\x00\";\n }\n var DB = hashFunc(\"\") + PS + \"\\x01\" + s, seed = new Array(hashLen);\n new SecureRandom().nextBytes(seed);\n var dbMask = oaep_mgf1_arr(seed, DB.length, hashFunc), maskedDB = [];\n for (i = 0; i < DB.length; i += 1) {\n maskedDB[i] = DB.charCodeAt(i) ^ dbMask.charCodeAt(i);\n }\n var seedMask = oaep_mgf1_arr(maskedDB, seed.length, hashFunc), maskedSeed = [0];\n for (i = 0; i < seed.length; i += 1) {\n maskedSeed[i + 1] = seed[i] ^ seedMask.charCodeAt(i);\n }\n return new BigInteger(maskedSeed.concat(maskedDB));\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = parseBigInt(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text, paddingFunction) {\n if (typeof paddingFunction === 'undefined') {\n paddingFunction = pkcs1pad2;\n }\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = paddingFunction(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E, D) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = parseBigInt(N, 16);\n this.e = parseInt(E, 16);\n this.d = parseBigInt(D, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;\n // Set the private key fields N, e, d and CRT params from hex strings\n RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = parseBigInt(N, 16);\n this.e = parseInt(E, 16);\n this.d = parseBigInt(D, 16);\n this.p = parseBigInt(P, 16);\n this.q = parseBigInt(Q, 16);\n this.dmp1 = parseBigInt(DP, 16);\n this.dmq1 = parseBigInt(DQ, 16);\n this.coeff = parseBigInt(C, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.generate = RSAGenerate;\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generate = function (B, E) {\n var rng = new SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new BigInteger(E, 16);\n for (;;) {\n for (;;) {\n this.p = new BigInteger(B - qs, 1, rng);\n if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {\n break;\n }\n }\n for (;;) {\n this.q = new BigInteger(qs, 1, rng);\n if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {\n break;\n }\n }\n if (this.p.compareTo(this.q) <= 0) {\n var t = this.p;\n this.p = this.q;\n this.q = t;\n }\n var p1 = this.p.subtract(BigInteger.ONE);\n var q1 = this.q.subtract(BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {\n this.n = this.p.multiply(this.q);\n this.d = ee.modInverse(phi);\n this.dmp1 = this.d.mod(p1);\n this.dmq1 = this.d.mod(q1);\n this.coeff = this.q.modInverse(this.p);\n break;\n }\n }\n };\n // RSAKey.prototype.decrypt = RSADecrypt;\n // Return the PKCS#1 RSA decryption of \"ctext\".\n // \"ctext\" is an even-length hex string and the output is a plain string.\n RSAKey.prototype.decrypt = function (ctext) {\n var c = parseBigInt(ctext, 16);\n var m = this.doPrivate(c);\n if (m == null) {\n return null;\n }\n return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3);\n };\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generateAsync = function (B, E, callback) {\n var rng = new SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new BigInteger(E, 16);\n var rsa = this;\n // These functions have non-descript names because they were originally for(;;) loops.\n // I don't know about cryptography to give them better names than loop1-4.\n var loop1 = function () {\n var loop4 = function () {\n if (rsa.p.compareTo(rsa.q) <= 0) {\n var t = rsa.p;\n rsa.p = rsa.q;\n rsa.q = t;\n }\n var p1 = rsa.p.subtract(BigInteger.ONE);\n var q1 = rsa.q.subtract(BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {\n rsa.n = rsa.p.multiply(rsa.q);\n rsa.d = ee.modInverse(phi);\n rsa.dmp1 = rsa.d.mod(p1);\n rsa.dmq1 = rsa.d.mod(q1);\n rsa.coeff = rsa.q.modInverse(rsa.p);\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(loop1, 0);\n }\n };\n var loop3 = function () {\n rsa.q = nbi();\n rsa.q.fromNumberAsync(qs, 1, rng, function () {\n rsa.q.subtract(BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {\n setTimeout(loop4, 0);\n }\n else {\n setTimeout(loop3, 0);\n }\n });\n });\n };\n var loop2 = function () {\n rsa.p = nbi();\n rsa.p.fromNumberAsync(B - qs, 1, rng, function () {\n rsa.p.subtract(BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {\n setTimeout(loop3, 0);\n }\n else {\n setTimeout(loop2, 0);\n }\n });\n });\n };\n setTimeout(loop2, 0);\n };\n setTimeout(loop1, 0);\n };\n RSAKey.prototype.sign = function (text, digestMethod, digestName) {\n var header = getDigestHeader(digestName);\n var digest = header + digestMethod(text).toString();\n var maxLength = this.n.bitLength() / 4;\n var m = pkcs1pad1(digest, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPrivate(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n RSAKey.prototype.verify = function (text, signature, digestMethod) {\n var c = parseBigInt(signature, 16);\n var m = this.doPublic(c);\n if (m == null) {\n return null;\n }\n var unpadded = m.toString(16).replace(/^1f+00/, \"\");\n var digest = removeDigestHeader(unpadded);\n return digest == digestMethod(text).toString();\n };\n return RSAKey;\n}());\nexport { RSAKey };\n// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext\nfunction pkcs1unpad2(d, n) {\n var b = d.toByteArray();\n var i = 0;\n while (i < b.length && b[i] == 0) {\n ++i;\n }\n if (b.length - i != n - 1 || b[i] != 2) {\n return null;\n }\n ++i;\n while (b[i] != 0) {\n if (++i >= b.length) {\n return null;\n }\n }\n var ret = \"\";\n while (++i < b.length) {\n var c = b[i] & 255;\n if (c < 128) { // utf-8 decode\n ret += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\n ++i;\n }\n else {\n ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\n i += 2;\n }\n }\n return ret;\n}\n// https://tools.ietf.org/html/rfc3447#page-43\nvar DIGEST_HEADERS = {\n md2: \"3020300c06082a864886f70d020205000410\",\n md5: \"3020300c06082a864886f70d020505000410\",\n sha1: \"3021300906052b0e03021a05000414\",\n sha224: \"302d300d06096086480165030402040500041c\",\n sha256: \"3031300d060960864801650304020105000420\",\n sha384: \"3041300d060960864801650304020205000430\",\n sha512: \"3051300d060960864801650304020305000440\",\n ripemd160: \"3021300906052b2403020105000414\"\n};\nfunction getDigestHeader(name) {\n return DIGEST_HEADERS[name] || \"\";\n}\nfunction removeDigestHeader(str) {\n for (var name_1 in DIGEST_HEADERS) {\n if (DIGEST_HEADERS.hasOwnProperty(name_1)) {\n var header = DIGEST_HEADERS[name_1];\n var len = header.length;\n if (str.substring(0, len) == header) {\n return str.substring(len);\n }\n }\n }\n return str;\n}\n// Return the PKCS#1 RSA encryption of \"text\" as a Base64-encoded string\n// function RSAEncryptB64(text) {\n// var h = this.encrypt(text);\n// if(h) return hex2b64(h); else return null;\n// }\n// public\n// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;\n"],"names":["pkcs1pad1","s","n","length","console","error","len","filler","f","m","parseBigInt","pkcs1pad2","ba","i","c","charCodeAt","rng","SecureRandom","x","nextBytes","BigInteger","oaep_mgf1_arr","seed","hashFunc","mask","String","fromCharCode","apply","concat","SHA256_SIZE","oaep_pad","hashLen","rstr_sha256","PS","DB","Array","dbMask","maskedDB","seedMask","maskedSeed","RSAKey","e","d","p","q","dmp1","dmq1","coeff","prototype","doPublic","modPowInt","doPrivate","modPow","xp","mod","xq","compareTo","add","subtract","multiply","setPublic","N","E","parseInt","encrypt","text","paddingFunction","maxLength","bitLength","h","toString","setPrivate","D","setPrivateEx","P","Q","DP","DQ","C","generate","B","qs","ee","ONE","gcd","isProbablePrime","t","p1","q1","phi","modInverse","decrypt","ctext","pkcs1unpad2","generateAsync","callback","rsa","loop1","loop4","setTimeout","loop3","nbi","fromNumberAsync","gcda","r","loop2","sign","digestMethod","digestName","header","getDigestHeader","digest","verify","signature","unpadded","replace","removeDigestHeader","b","toByteArray","ret","DIGEST_HEADERS","md2","md5","sha1","sha224","sha256","sha384","sha512","ripemd160","name","str","name_1","hasOwnProperty","substring"],"mappings":"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","x_google_ignoreList":[0]}