bcrypt-ts 1.0.0

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 ADDED
@@ -0,0 +1,5 @@
1
+ # bycrypt-ts
2
+
3
+ A typescript version of [bcrypt.js](https://github.com/dcodeIO/bcrypt.js).
4
+
5
+ Provides ES modules and declaration files.
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Encodes a byte array to base64 with up to len bytes of input, using the custom bcrypt alphabet.
3
+ *
4
+ * @param byteArray Byte array
5
+ * @param length Maximum input length
6
+ */
7
+ declare const encodeBase64: (byteArray: number[], length: number) => string;
8
+ /**
9
+ * Decodes a base64 encoded string to up to len bytes of output, using the custom bcrypt alphabet.
10
+ *
11
+ * @param contentString String to decode
12
+ * @param length Maximum output length
13
+ */
14
+ declare const decodeBase64: (contentString: string, length: number) => number[];
15
+
16
+ /**
17
+ * Synchronously tests a string against a hash.
18
+ *
19
+ * @param content String to compare
20
+ * @param hash Hash to test against
21
+ */
22
+ declare const compareSync: (content: string, hash: string) => boolean;
23
+ /**
24
+ * Asynchronously compares the given data against the given hash.
25
+ *
26
+ * @param content Data to compare
27
+ * @param hash Data to be compared to
28
+ * @param progressCallback Callback successively called with the percentage of rounds completed
29
+ * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.
30
+ */
31
+ declare const compare: (content: string, hash: string, progressCallback?: ((percent: number) => void) | undefined) => Promise<boolean>;
32
+
33
+ /**
34
+ * Synchronously generates a hash for the given string.
35
+ *
36
+ * @param contentString String to hash
37
+ * @param salt Salt length to generate or salt to use, default to 10
38
+ * @returns Resulting hash
39
+ */
40
+ declare const hashSync: (contentString: string, salt?: string | number) => string;
41
+ /**
42
+ * Asynchronously generates a hash for the given string.
43
+ *
44
+ * @param contentString String to hash
45
+ * @param salt Salt length to generate or salt to use
46
+ * @param progressCallback Callback successively called with the percentage of rounds completed
47
+ * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.
48
+ */
49
+ declare const hash: (contentString: string, salt: number | string, progressCallback?: ((progress: number) => void) | undefined) => Promise<string>;
50
+
51
+ /**
52
+ * Gets the number of rounds used to encrypt the specified hash.
53
+ *
54
+ * @param hash Hash to extract the used number of rounds from
55
+ * @returns Number of rounds used
56
+ * @throws {Error} If `hash` is not a string
57
+ */
58
+ declare const getRounds: (hash: string) => number;
59
+ /**
60
+ * Gets the salt portion from a hash. Does not validate the hash.
61
+ *
62
+ * @param hash Hash to extract the salt from
63
+ * @returns Extracted salt part
64
+ * @throws {Error} If `hash` is not a string or otherwise invalid
65
+ */
66
+ declare const getSalt: (hash: string) => string;
67
+
68
+ /**
69
+ * Synchronously generates a salt.
70
+ *
71
+ * @param rounds Number of rounds to use, defaults to 10 if omitted
72
+ * @returns Resulting salt
73
+ * @throws {Error} If a random fallback is required but not set
74
+ */
75
+ declare const genSaltSync: (rounds?: number) => string;
76
+ /**
77
+ * Asynchronously generates a salt.
78
+ *
79
+ * @param rounds Number of rounds to use, defaults to 10 if omitted
80
+ */
81
+ declare const genSalt: (rounds?: number) => Promise<string>;
82
+
83
+ export { compare, compareSync, decodeBase64, encodeBase64, genSalt, genSaltSync, getRounds, getSalt, hash, hashSync };
84
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Encodes a byte array to base64 with up to len bytes of input, using the custom bcrypt alphabet.
3
+ *
4
+ * @param byteArray Byte array
5
+ * @param length Maximum input length
6
+ */
7
+ declare const encodeBase64: (byteArray: number[], length: number) => string;
8
+ /**
9
+ * Decodes a base64 encoded string to up to len bytes of output, using the custom bcrypt alphabet.
10
+ *
11
+ * @param contentString String to decode
12
+ * @param length Maximum output length
13
+ */
14
+ declare const decodeBase64: (contentString: string, length: number) => number[];
15
+
16
+ /**
17
+ * Synchronously tests a string against a hash.
18
+ *
19
+ * @param content String to compare
20
+ * @param hash Hash to test against
21
+ */
22
+ declare const compareSync: (content: string, hash: string) => boolean;
23
+ /**
24
+ * Asynchronously compares the given data against the given hash.
25
+ *
26
+ * @param content Data to compare
27
+ * @param hash Data to be compared to
28
+ * @param progressCallback Callback successively called with the percentage of rounds completed
29
+ * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.
30
+ */
31
+ declare const compare: (content: string, hash: string, progressCallback?: ((percent: number) => void) | undefined) => Promise<boolean>;
32
+
33
+ /**
34
+ * Synchronously generates a hash for the given string.
35
+ *
36
+ * @param contentString String to hash
37
+ * @param salt Salt length to generate or salt to use, default to 10
38
+ * @returns Resulting hash
39
+ */
40
+ declare const hashSync: (contentString: string, salt?: string | number) => string;
41
+ /**
42
+ * Asynchronously generates a hash for the given string.
43
+ *
44
+ * @param contentString String to hash
45
+ * @param salt Salt length to generate or salt to use
46
+ * @param progressCallback Callback successively called with the percentage of rounds completed
47
+ * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.
48
+ */
49
+ declare const hash: (contentString: string, salt: number | string, progressCallback?: ((progress: number) => void) | undefined) => Promise<string>;
50
+
51
+ /**
52
+ * Gets the number of rounds used to encrypt the specified hash.
53
+ *
54
+ * @param hash Hash to extract the used number of rounds from
55
+ * @returns Number of rounds used
56
+ * @throws {Error} If `hash` is not a string
57
+ */
58
+ declare const getRounds: (hash: string) => number;
59
+ /**
60
+ * Gets the salt portion from a hash. Does not validate the hash.
61
+ *
62
+ * @param hash Hash to extract the salt from
63
+ * @returns Extracted salt part
64
+ * @throws {Error} If `hash` is not a string or otherwise invalid
65
+ */
66
+ declare const getSalt: (hash: string) => string;
67
+
68
+ /**
69
+ * Synchronously generates a salt.
70
+ *
71
+ * @param rounds Number of rounds to use, defaults to 10 if omitted
72
+ * @returns Resulting salt
73
+ * @throws {Error} If a random fallback is required but not set
74
+ */
75
+ declare const genSaltSync: (rounds?: number) => string;
76
+ /**
77
+ * Asynchronously generates a salt.
78
+ *
79
+ * @param rounds Number of rounds to use, defaults to 10 if omitted
80
+ */
81
+ declare const genSalt: (rounds?: number) => Promise<string>;
82
+
83
+ export { compare, compareSync, decodeBase64, encodeBase64, genSalt, genSaltSync, getRounds, getSalt, hash, hashSync };
84
+ //# sourceMappingURL=index.esm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ const r="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,54,55,56,57,58,59,60,61,62,63,-1,-1,-1,-1,-1,-1,-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,-1,-1,-1,-1,-1,-1,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,-1,-1,-1,-1,-1],e=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],n=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],o=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892],s=(t,e)=>{if(e<=0||e>t.length)throw Error(`Illegal len: ${e}`);let n,o,s=0;const l=[];for(;s<e;){if(n=255&t[s++],l.push(r[n>>2&63]),n=(3&n)<<4,s>=e){l.push(r[63&n]);break}if(o=255&t[s++],n|=o>>4&15,l.push(r[63&n]),n=(15&o)<<2,s>=e){l.push(r[63&n]);break}o=255&t[s++],n|=o>>6&3,l.push(r[63&n]),l.push(r[63&o])}return l.join("")},l=(r,e)=>{if(e<=0)throw Error(`Illegal len: ${e}`);const n=r.length;let o,s,l,f,i,u,h=0,p=0;const a=[];for(;h<n-1&&p<e&&(u=r.charCodeAt(h++),o=u<t.length?t[u]:-1,u=r.charCodeAt(h++),s=u<t.length?t[u]:-1,-1!=o&&-1!=s)&&(i=o<<2>>>0,i|=(48&s)>>4,a.push(String.fromCharCode(i)),!(++p>=e||h>=n))&&(u=r.charCodeAt(h++),l=u<t.length?t[u]:-1,-1!=l)&&(i=(15&s)<<4>>>0,i|=(60&l)>>2,a.push(String.fromCharCode(i)),!(++p>=e||h>=n));)u=r.charCodeAt(h++),f=u<t.length?t[u]:-1,i=(3&l)<<6>>>0,i|=f,a.push(String.fromCharCode(i)),++p;return a.map((r=>r.charCodeAt(0)))},f="undefined"!=typeof process&&process&&"function"==typeof process.nextTick?"function"==typeof setImmediate?setImmediate:process.nextTick:setTimeout,i=(r,t,e,n)=>{let o,s=r[t],l=r[t+1];return s^=e[0],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^e[1],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^e[2],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^e[3],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^e[4],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^e[5],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^e[6],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^e[7],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^e[8],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^e[9],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^e[10],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^e[11],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^e[12],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^e[13],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^e[14],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^e[15],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^e[16],r[t]=l^e[17],r[t+1]=s,r},u=(r,t)=>{let e=0;for(let n=0;n<4;++n)e=e<<8|255&r[t],t=(t+1)%r.length;return{key:e,offp:t}},h=(r,t,e)=>{const n=t.length,o=e.length;let s,l=0,f=[0,0];for(let e=0;e<n;e++)s=u(r,l),l=s.offp,t[e]=t[e]^s.key;for(let r=0;r<n;r+=2)f=i(f,0,t,e),t[r]=f[0],t[r+1]=f[1];for(let r=0;r<o;r+=2)f=i(f,0,t,e),e[r]=f[0],e[r+1]=f[1]},p=(r,t,s,l,p)=>{const a=o.slice(),g=a.length;if(s<4||s>31){const r=new Error(`Illegal number of rounds (4-31): ${s}`);if(!1===l)return Promise.reject(r);throw r}if(16!==t.length){const r=new Error(`Illegal salt length: ${t.length} != 16`);if(!1===l)return Promise.reject(r);throw r}let c,y;s=1<<s>>>0;let m,w=0;Int32Array?(c=new Int32Array(e),y=new Int32Array(n)):(c=e.slice(),y=n.slice()),((r,t,e,n)=>{const o=e.length,s=n.length;let l,f=0,h=[0,0];for(let r=0;r<o;r++)l=u(t,f),f=l.offp,e[r]=e[r]^l.key;f=0;for(let t=0;t<o;t+=2)l=u(r,f),f=l.offp,h[0]^=l.key,l=u(r,f),f=l.offp,h[1]^=l.key,h=i(h,0,e,n),e[t]=h[0],e[t+1]=h[1];for(let t=0;t<s;t+=2)l=u(r,f),f=l.offp,h[0]^=l.key,l=u(r,f),f=l.offp,h[1]^=l.key,h=i(h,0,e,n),n[t]=h[0],n[t+1]=h[1]})(t,r,c,y);const d=()=>{if(p&&p(w/s),!(w<s)){for(w=0;w<64;w++)for(m=0;m<g>>1;m++)i(a,m<<1,c,y);const r=[];for(w=0;w<g;w++)r.push((a[w]>>24&255)>>>0),r.push((a[w]>>16&255)>>>0),r.push((a[w]>>8&255)>>>0),r.push((255&a[w])>>>0);return!1===l?Promise.resolve(r):r}{const e=Date.now();for(;w<s&&(w+=1,h(r,c,y),h(t,c,y),!(Date.now()-e>100)););}if(!1===l)return new Promise((r=>f((()=>{d().then(r)}))))};if(!1===l)return d();{let r;for(;;)if(void 0!==(r=d()))return r||[]}},a=(r=10)=>{if("number"!=typeof r)throw Error("Illegal arguments: "+typeof r);r<4?r=4:r>31&&(r=31);const t=[];return t.push("$2a$"),r<10&&t.push("0"),t.push(r.toString()),t.push("$"),t.push(s((r=>{if("undefined"!=typeof module&&module&&module.exports)try{return require("crypto").randomBytes(r)}catch(r){}try{let t;return(self.crypto||self.msCrypto).getRandomValues(t=new Uint32Array(r)),Array.prototype.slice.call(t)}catch(r){}throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative")})(16),16)),t.join("")},g=(r=10)=>{if("number"!=typeof r)throw Error("illegal arguments: "+typeof r);return new Promise(((t,e)=>f((()=>{try{t(a(r))}catch(r){e(r)}}))))};function c(r,t,e,n){if("string"!=typeof r||"string"!=typeof t){const r=new Error("Invalid string / salt: Not a string");if(!1===e)return Promise.reject(r);throw r}let f,i;if("$"!==t.charAt(0)||"2"!==t.charAt(1)){const r=new Error("Invalid salt version: "+t.substring(0,2));if(!1===e)return Promise.reject(r);throw r}if("$"===t.charAt(2))f=String.fromCharCode(0),i=3;else{if(f=t.charAt(2),"a"!==f&&"b"!==f&&"y"!==f||"$"!==t.charAt(3)){const r=Error("Invalid salt revision: "+t.substring(2,4));if(!1===e)return Promise.reject(r);throw r}i=4}if(t.charAt(i+2)>"$"){const r=new Error("Missing salt rounds");if(!1===e)return Promise.reject(r);throw r}const u=10*parseInt(t.substring(i,i+1),10)+parseInt(t.substring(i+1,i+2),10),h=t.substring(i+3,i+25),a=(r=>{const t=[];let e=0;var n;return n=r=>{t.push(r)},((r,t)=>{let e,n=null;for(;null!==(e=null!==n?n:r());)e>=55296&&e<=57343&&null!==(n=r())&&n>=56320&&n<=57343?(t(1024*(e-55296)+n-56320+65536),n=null):t(e);null!==n&&t(n)})((()=>e>=r.length?null:r.charCodeAt(e++)),(function(r){((r,t)=>{let e=null;for("number"==typeof r&&(e=r,r=()=>null);null!==e||null!==(e=r());)e<128?t(127&e):e<2048?(t(e>>6&31|192),t(63&e|128)):e<65536?(t(e>>12&15|224),t(e>>6&63|128),t(63&e|128)):(t(e>>18&7|240),t(e>>12&63|128),t(e>>6&63|128),t(63&e|128)),e=null})(r,n)})),t})(r+=f>="a"?"\0":""),g=l(h,16),c=r=>{const t=[];return t.push("$2"),f>="a"&&t.push(f),t.push("$"),u<10&&t.push("0"),t.push(u.toString()),t.push("$"),t.push(s(g,g.length)),t.push(s(r,4*o.length-1)),t.join("")};return!1===e?p(a,g,u,!1,n).then((r=>c(r))):c(p(a,g,u,!0,n))}const y=(r,t=10)=>{if("number"==typeof t&&(t=a(t)),"string"!=typeof r||"string"!=typeof t)throw Error("Illegal arguments: "+typeof r+", "+typeof t);return c(r,t,!0)},m=function(r,t,e){return"string"==typeof r&&"number"==typeof t?g(t).then((t=>c(r,t,!1,e))):"string"==typeof r&&"string"==typeof t?c(r,t,!1,e):Promise.reject(new Error(`Illegal arguments: ${typeof r}, ${typeof t}`))},w=(r,t)=>{if("string"!=typeof r||"string"!=typeof t)throw Error("Illegal arguments: "+typeof r+", "+typeof t);return 60===t.length&&y(r,t.substring(0,t.length-31))===t},d=(r,t,e)=>new Promise(((n,o)=>{"string"==typeof r&&"string"==typeof t?60===t.length?m(r,t.substring(0,29),e).then((r=>n(r===t))).catch((r=>o(r))):f((()=>o(!1))):f((()=>o(new Error(`Illegal arguments: ${typeof r}, ${typeof t}`))))})),I=r=>{if("string"!=typeof r)throw new Error("Illegal arguments: "+typeof r);return parseInt(r.split("$")[2],10)},b=r=>{if("string"!=typeof r)throw new Error("Illegal arguments: "+typeof r);if(60!==r.length)throw new Error(`Illegal hash length: ${r.length} != 60`);return r.substring(0,29)};export{d as compare,w as compareSync,l as decodeBase64,s as encodeBase64,g as genSalt,a as genSaltSync,I as getRounds,b as getSalt,m as hash,y as hashSync};
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/constant.ts","../src/base64.ts","../src/utils.ts","../src/crypt.ts","../src/salt.ts","../src/hash.ts","../src/utfx.ts","../src/compare.ts","../src/helpers.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["BASE64_CODE","split","BASE64_INDEX","P_ORIG","S_ORIG","C_ORIG","encodeBase64","byteArray","length","Error","c1","c2","off","rs","push","join","decodeBase64","contentString","stringLength","c3","c4","o","code","olen","charCodeAt","String","fromCharCode","map","item","nextTick","process","setImmediate","setTimeout","encipher","lr","P","S","n","l","r","BLOWFISH_NUM_ROUNDS","streamtoword","data","offp","word","i","key","pLength","sLength","sw","crypt","bytes","salt","rounds","sync","progressCallback","cdata","slice","cLength","err","Promise","reject","j","Int32Array","ekskey","next","ret","resolve","start","Date","now","then","res","genSaltSync","toString","module","require","array","self","Uint32Array","Array","prototype","call","random","genSalt","_hash","minor","offset","charAt","substring","parseInt","realSalt","passwordBytes","str","out","dst","b","src","UTF16toUTF8","cp","encodeUTF8","stringToBytes","saltBytes","finish","hashSync","hash","compareSync","content","compare","hashAsync","comp","catch","getRounds","getSalt"],"mappings":"AAAO,MAQMA,EACX,mEAAmEC,MAAM,IAE9DC,EAAe,EACzB,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACzE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAG9BC,EAAS,CACpB,UAAY,WAAY,UAAY,SAAY,WAAY,UAC5D,UAAY,WAAY,WAAY,UAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,YAGjDC,EAAS,CACpB,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,SAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,UAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,QAAY,UAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,SAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,SAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,SAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,SAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,UAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,UAC5D,UAAY,UAAY,WAAY,UAAY,WAAY,UAC5D,WAAY,WAAY,SAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,UAAY,UAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,SAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,UAC5D,WAAY,WAAY,UAAY,WAAY,SAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,UAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,UAAY,UAAY,WAAY,UAAY,UAAY,UAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,SAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,UAAY,WAAY,UAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,SAAY,WAAY,SAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,UAAY,UAAY,SAC5D,WAAY,WAAY,WAAY,UAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,UAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,UAAY,UAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,QAAY,UAAY,UAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,UAAY,SAAY,WAAY,SAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,SAAY,SAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,UAAY,WAAY,UAAY,WAAY,WAC5D,SAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,SAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,SAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,SAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,UAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,UAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,UAAY,UAAY,WA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"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,54,55,56,57,58,59,60,61,62,63,-1,-1,-1,-1,-1,-1,-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,-1,-1,-1,-1,-1,-1,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,-1,-1,-1,-1,-1],r=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],n=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],o=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892],s=(t,r)=>{if(r<=0||r>t.length)throw Error(`Illegal len: ${r}`);let n,o,s=0;const l=[];for(;s<r;){if(n=255&t[s++],l.push(e[n>>2&63]),n=(3&n)<<4,s>=r){l.push(e[63&n]);break}if(o=255&t[s++],n|=o>>4&15,l.push(e[63&n]),n=(15&o)<<2,s>=r){l.push(e[63&n]);break}o=255&t[s++],n|=o>>6&3,l.push(e[63&n]),l.push(e[63&o])}return l.join("")},l=(e,r)=>{if(r<=0)throw Error(`Illegal len: ${r}`);const n=e.length;let o,s,l,f,i,u,p=0,h=0;const a=[];for(;p<n-1&&h<r&&(u=e.charCodeAt(p++),o=u<t.length?t[u]:-1,u=e.charCodeAt(p++),s=u<t.length?t[u]:-1,-1!=o&&-1!=s)&&(i=o<<2>>>0,i|=(48&s)>>4,a.push(String.fromCharCode(i)),!(++h>=r||p>=n))&&(u=e.charCodeAt(p++),l=u<t.length?t[u]:-1,-1!=l)&&(i=(15&s)<<4>>>0,i|=(60&l)>>2,a.push(String.fromCharCode(i)),!(++h>=r||p>=n));)u=e.charCodeAt(p++),f=u<t.length?t[u]:-1,i=(3&l)<<6>>>0,i|=f,a.push(String.fromCharCode(i)),++h;return a.map((e=>e.charCodeAt(0)))},f="undefined"!=typeof process&&process&&"function"==typeof process.nextTick?"function"==typeof setImmediate?setImmediate:process.nextTick:setTimeout,i=(e,t,r,n)=>{let o,s=e[t],l=e[t+1];return s^=r[0],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^r[1],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^r[2],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^r[3],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^r[4],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^r[5],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^r[6],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^r[7],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^r[8],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^r[9],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^r[10],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^r[11],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^r[12],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^r[13],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^r[14],o=n[s>>>24],o+=n[256|s>>16&255],o^=n[512|s>>8&255],o+=n[768|255&s],l^=o^r[15],o=n[l>>>24],o+=n[256|l>>16&255],o^=n[512|l>>8&255],o+=n[768|255&l],s^=o^r[16],e[t]=l^r[17],e[t+1]=s,e},u=(e,t)=>{let r=0;for(let n=0;n<4;++n)r=r<<8|255&e[t],t=(t+1)%e.length;return{key:r,offp:t}},p=(e,t,r)=>{const n=t.length,o=r.length;let s,l=0,f=[0,0];for(let r=0;r<n;r++)s=u(e,l),l=s.offp,t[r]=t[r]^s.key;for(let e=0;e<n;e+=2)f=i(f,0,t,r),t[e]=f[0],t[e+1]=f[1];for(let e=0;e<o;e+=2)f=i(f,0,t,r),r[e]=f[0],r[e+1]=f[1]},h=(e,t,s,l,h)=>{const a=o.slice(),g=a.length;if(s<4||s>31){const e=new Error(`Illegal number of rounds (4-31): ${s}`);if(!1===l)return Promise.reject(e);throw e}if(16!==t.length){const e=new Error(`Illegal salt length: ${t.length} != 16`);if(!1===l)return Promise.reject(e);throw e}let c,y;s=1<<s>>>0;let m,d=0;Int32Array?(c=new Int32Array(r),y=new Int32Array(n)):(c=r.slice(),y=n.slice()),((e,t,r,n)=>{const o=r.length,s=n.length;let l,f=0,p=[0,0];for(let e=0;e<o;e++)l=u(t,f),f=l.offp,r[e]=r[e]^l.key;f=0;for(let t=0;t<o;t+=2)l=u(e,f),f=l.offp,p[0]^=l.key,l=u(e,f),f=l.offp,p[1]^=l.key,p=i(p,0,r,n),r[t]=p[0],r[t+1]=p[1];for(let t=0;t<s;t+=2)l=u(e,f),f=l.offp,p[0]^=l.key,l=u(e,f),f=l.offp,p[1]^=l.key,p=i(p,0,r,n),n[t]=p[0],n[t+1]=p[1]})(t,e,c,y);const w=()=>{if(h&&h(d/s),!(d<s)){for(d=0;d<64;d++)for(m=0;m<g>>1;m++)i(a,m<<1,c,y);const e=[];for(d=0;d<g;d++)e.push((a[d]>>24&255)>>>0),e.push((a[d]>>16&255)>>>0),e.push((a[d]>>8&255)>>>0),e.push((255&a[d])>>>0);return!1===l?Promise.resolve(e):e}{const r=Date.now();for(;d<s&&(d+=1,p(e,c,y),p(t,c,y),!(Date.now()-r>100)););}if(!1===l)return new Promise((e=>f((()=>{w().then(e)}))))};if(!1===l)return w();{let e;for(;;)if(void 0!==(e=w()))return e||[]}},a=(e=10)=>{if("number"!=typeof e)throw Error("Illegal arguments: "+typeof e);e<4?e=4:e>31&&(e=31);const t=[];return t.push("$2a$"),e<10&&t.push("0"),t.push(e.toString()),t.push("$"),t.push(s((e=>{if("undefined"!=typeof module&&module&&module.exports)try{return require("crypto").randomBytes(e)}catch(e){}try{let t;return(self.crypto||self.msCrypto).getRandomValues(t=new Uint32Array(e)),Array.prototype.slice.call(t)}catch(e){}throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative")})(16),16)),t.join("")},g=(e=10)=>{if("number"!=typeof e)throw Error("illegal arguments: "+typeof e);return new Promise(((t,r)=>f((()=>{try{t(a(e))}catch(e){r(e)}}))))};function c(e,t,r,n){if("string"!=typeof e||"string"!=typeof t){const e=new Error("Invalid string / salt: Not a string");if(!1===r)return Promise.reject(e);throw e}let f,i;if("$"!==t.charAt(0)||"2"!==t.charAt(1)){const e=new Error("Invalid salt version: "+t.substring(0,2));if(!1===r)return Promise.reject(e);throw e}if("$"===t.charAt(2))f=String.fromCharCode(0),i=3;else{if(f=t.charAt(2),"a"!==f&&"b"!==f&&"y"!==f||"$"!==t.charAt(3)){const e=Error("Invalid salt revision: "+t.substring(2,4));if(!1===r)return Promise.reject(e);throw e}i=4}if(t.charAt(i+2)>"$"){const e=new Error("Missing salt rounds");if(!1===r)return Promise.reject(e);throw e}const u=10*parseInt(t.substring(i,i+1),10)+parseInt(t.substring(i+1,i+2),10),p=t.substring(i+3,i+25),a=(e=>{const t=[];let r=0;var n;return n=e=>{t.push(e)},((e,t)=>{let r,n=null;for(;null!==(r=null!==n?n:e());)r>=55296&&r<=57343&&null!==(n=e())&&n>=56320&&n<=57343?(t(1024*(r-55296)+n-56320+65536),n=null):t(r);null!==n&&t(n)})((()=>r>=e.length?null:e.charCodeAt(r++)),(function(e){((e,t)=>{let r=null;for("number"==typeof e&&(r=e,e=()=>null);null!==r||null!==(r=e());)r<128?t(127&r):r<2048?(t(r>>6&31|192),t(63&r|128)):r<65536?(t(r>>12&15|224),t(r>>6&63|128),t(63&r|128)):(t(r>>18&7|240),t(r>>12&63|128),t(r>>6&63|128),t(63&r|128)),r=null})(e,n)})),t})(e+=f>="a"?"\0":""),g=l(p,16),c=e=>{const t=[];return t.push("$2"),f>="a"&&t.push(f),t.push("$"),u<10&&t.push("0"),t.push(u.toString()),t.push("$"),t.push(s(g,g.length)),t.push(s(e,4*o.length-1)),t.join("")};return!1===r?h(a,g,u,!1,n).then((e=>c(e))):c(h(a,g,u,!0,n))}const y=(e,t=10)=>{if("number"==typeof t&&(t=a(t)),"string"!=typeof e||"string"!=typeof t)throw Error("Illegal arguments: "+typeof e+", "+typeof t);return c(e,t,!0)},m=function(e,t,r){return"string"==typeof e&&"number"==typeof t?g(t).then((t=>c(e,t,!1,r))):"string"==typeof e&&"string"==typeof t?c(e,t,!1,r):Promise.reject(new Error(`Illegal arguments: ${typeof e}, ${typeof t}`))};exports.compare=(e,t,r)=>new Promise(((n,o)=>{"string"==typeof e&&"string"==typeof t?60===t.length?m(e,t.substring(0,29),r).then((e=>n(e===t))).catch((e=>o(e))):f((()=>o(!1))):f((()=>o(new Error(`Illegal arguments: ${typeof e}, ${typeof t}`))))})),exports.compareSync=(e,t)=>{if("string"!=typeof e||"string"!=typeof t)throw Error("Illegal arguments: "+typeof e+", "+typeof t);return 60===t.length&&y(e,t.substring(0,t.length-31))===t},exports.decodeBase64=l,exports.encodeBase64=s,exports.genSalt=g,exports.genSaltSync=a,exports.getRounds=e=>{if("string"!=typeof e)throw new Error("Illegal arguments: "+typeof e);return parseInt(e.split("$")[2],10)},exports.getSalt=e=>{if("string"!=typeof e)throw new Error("Illegal arguments: "+typeof e);if(60!==e.length)throw new Error(`Illegal hash length: ${e.length} != 60`);return e.substring(0,29)},exports.hash=m,exports.hashSync=y;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/constant.ts","../src/base64.ts","../src/utils.ts","../src/crypt.ts","../src/salt.ts","../src/hash.ts","../src/utfx.ts","../src/compare.ts","../src/helpers.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["BASE64_CODE","split","BASE64_INDEX","P_ORIG","S_ORIG","C_ORIG","encodeBase64","byteArray","length","Error","c1","c2","off","rs","push","join","decodeBase64","contentString","stringLength","c3","c4","o","code","olen","charCodeAt","String","fromCharCode","map","item","nextTick","process","setImmediate","setTimeout","encipher","lr","P","S","n","l","r","BLOWFISH_NUM_ROUNDS","streamtoword","data","offp","word","i","key","pLength","sLength","sw","crypt","bytes","salt","rounds","sync","progressCallback","cdata","slice","cLength","err","Promise","reject","j","Int32Array","ekskey","next","ret","resolve","start","Date","now","then","res","genSaltSync","toString","module","require","array","self","Uint32Array","Array","prototype","call","random","genSalt","_hash","minor","offset","charAt","substring","parseInt","realSalt","passwordBytes","str","out","dst","b","src","UTF16toUTF8","cp","encodeUTF8","stringToBytes","saltBytes","finish","hashSync","hash","content","hashAsync","comp","catch"],"mappings":"oEAAO,MAQMA,EACX,mEAAmEC,MAAM,IAE9DC,EAAe,EACzB,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACzE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAG9BC,EAAS,CACpB,UAAY,WAAY,UAAY,SAAY,WAAY,UAC5D,UAAY,WAAY,WAAY,UAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,YAGjDC,EAAS,CACpB,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,SAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,UAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,QAAY,UAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,SAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,SAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,SAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,SAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,UAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,UAC5D,UAAY,UAAY,WAAY,UAAY,WAAY,UAC5D,WAAY,WAAY,SAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,UAAY,UAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,SAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,UAC5D,WAAY,WAAY,UAAY,WAAY,SAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,UAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,UAAY,UAAY,WAAY,UAAY,UAAY,UAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,SAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,UAAY,WAAY,UAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,SAAY,WAAY,SAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,UAAY,UAAY,SAC5D,WAAY,WAAY,WAAY,UAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,UAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,UAAY,UAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,QAAY,UAAY,UAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,UAAY,SAAY,WAAY,SAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,SAAY,SAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,UAAY,WAAY,UAAY,WAAY,WAC5D,SAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,SAAY,UAAY,WAAY,UAAY,WAC5D,WAAY,UAAY,SAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,SAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,UAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,UAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,UAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,UAC5D,UAAY,UAAY,W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"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "bcrypt-ts",
3
+ "version": "1.0.0",
4
+ "description": "bcrypt written in typescript",
5
+ "keywords": [
6
+ "bcrypt",
7
+ "bcryptjs"
8
+ ],
9
+ "license": "MIT",
10
+ "author": {
11
+ "name": "Mr.Hope",
12
+ "email": "mister-hope@outlook.com",
13
+ "url": "https://mrhope.site"
14
+ },
15
+ "exports": {
16
+ "import": "./dist/index.esm.js",
17
+ "require": "./dist/index.js",
18
+ "default": "./dist/index.js"
19
+ },
20
+ "main": "dist/index.js",
21
+ "module": "dist/index.esm.js",
22
+ "types": "./dist/index.d.ts",
23
+ "files": [
24
+ "dist",
25
+ "src"
26
+ ],
27
+ "devDependencies": {
28
+ "@rollup/plugin-typescript": "^8.3.2",
29
+ "@types/jest": "^27.5.0",
30
+ "@types/node": "^17.0.31",
31
+ "@typescript-eslint/eslint-plugin": "^5.22.0",
32
+ "@typescript-eslint/parser": "^5.22.0",
33
+ "eslint": "^8.14.0",
34
+ "eslint-config-prettier": "^8.5.0",
35
+ "eslint-plugin-prettier": "^4.0.0",
36
+ "jest": "^28.0.3",
37
+ "prettier": "^2.6.2",
38
+ "rollup": "^2.71.1",
39
+ "rollup-plugin-dts": "^4.2.1",
40
+ "rollup-plugin-terser": "^7.0.2",
41
+ "ts-jest": "^28.0.1",
42
+ "tslib": "^2.4.0",
43
+ "typescript": "^4.6.4"
44
+ },
45
+ "scripts": {
46
+ "build": "rollup -c",
47
+ "lint": "pnpm lint:eslint && pnpm lint:prettier",
48
+ "lint:eslint": "eslint --ext .js,.ts src",
49
+ "lint:prettier": "prettier --check --write .",
50
+ "test": "jest -i"
51
+ }
52
+ }
package/src/base64.ts ADDED
@@ -0,0 +1,99 @@
1
+ import { BASE64_CODE, BASE64_INDEX } from "./constant";
2
+
3
+ /**
4
+ * Encodes a byte array to base64 with up to len bytes of input, using the custom bcrypt alphabet.
5
+ *
6
+ * @param byteArray Byte array
7
+ * @param length Maximum input length
8
+ */
9
+ export const encodeBase64 = (byteArray: number[], length: number): string => {
10
+ if (length <= 0 || length > byteArray.length)
11
+ throw Error(`Illegal len: ${length}`);
12
+
13
+ let off = 0;
14
+ let c1: number;
15
+ let c2: number;
16
+ const rs: string[] = [];
17
+
18
+ while (off < length) {
19
+ c1 = byteArray[off++] & 0xff;
20
+ rs.push(BASE64_CODE[(c1 >> 2) & 0x3f]);
21
+ c1 = (c1 & 0x03) << 4;
22
+ if (off >= length) {
23
+ rs.push(BASE64_CODE[c1 & 0x3f]);
24
+ break;
25
+ }
26
+ c2 = byteArray[off++] & 0xff;
27
+ c1 |= (c2 >> 4) & 0x0f;
28
+ rs.push(BASE64_CODE[c1 & 0x3f]);
29
+ c1 = (c2 & 0x0f) << 2;
30
+ if (off >= length) {
31
+ rs.push(BASE64_CODE[c1 & 0x3f]);
32
+ break;
33
+ }
34
+ c2 = byteArray[off++] & 0xff;
35
+ c1 |= (c2 >> 6) & 0x03;
36
+ rs.push(BASE64_CODE[c1 & 0x3f]);
37
+ rs.push(BASE64_CODE[c2 & 0x3f]);
38
+ }
39
+
40
+ return rs.join("");
41
+ };
42
+
43
+ /**
44
+ * Decodes a base64 encoded string to up to len bytes of output, using the custom bcrypt alphabet.
45
+ *
46
+ * @param contentString String to decode
47
+ * @param length Maximum output length
48
+ */
49
+ export const decodeBase64 = (
50
+ contentString: string,
51
+ length: number
52
+ ): number[] => {
53
+ if (length <= 0) throw Error(`Illegal len: ${length}`);
54
+
55
+ const stringLength = contentString.length;
56
+ let off = 0;
57
+ let olen = 0;
58
+ let c1: number;
59
+ let c2: number;
60
+ let c3: number;
61
+ let c4: number;
62
+ let o: number;
63
+ let code: number;
64
+ const rs: string[] = [];
65
+
66
+ while (off < stringLength - 1 && olen < length) {
67
+ code = contentString.charCodeAt(off++);
68
+ c1 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;
69
+ code = contentString.charCodeAt(off++);
70
+ c2 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;
71
+
72
+ if (c1 == -1 || c2 == -1) break;
73
+
74
+ o = (c1 << 2) >>> 0;
75
+ o |= (c2 & 0x30) >> 4;
76
+ rs.push(String.fromCharCode(o));
77
+
78
+ if (++olen >= length || off >= stringLength) break;
79
+
80
+ code = contentString.charCodeAt(off++);
81
+ c3 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;
82
+ if (c3 == -1) break;
83
+ o = ((c2 & 0x0f) << 4) >>> 0;
84
+ o |= (c3 & 0x3c) >> 2;
85
+ rs.push(String.fromCharCode(o));
86
+
87
+ if (++olen >= length || off >= stringLength) break;
88
+
89
+ code = contentString.charCodeAt(off++);
90
+ c4 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;
91
+ o = ((c3 & 0x03) << 6) >>> 0;
92
+ o |= c4;
93
+ rs.push(String.fromCharCode(o));
94
+
95
+ ++olen;
96
+ }
97
+
98
+ return rs.map((item) => item.charCodeAt(0));
99
+ };
package/src/compare.ts ADDED
@@ -0,0 +1,51 @@
1
+ import { hash as hashAsync, hashSync } from "./hash";
2
+ import { nextTick } from "./utils";
3
+
4
+ /**
5
+ * Synchronously tests a string against a hash.
6
+ *
7
+ * @param content String to compare
8
+ * @param hash Hash to test against
9
+ */
10
+ export const compareSync = (content: string, hash: string): boolean => {
11
+ if (typeof content !== "string" || typeof hash !== "string")
12
+ throw Error("Illegal arguments: " + typeof content + ", " + typeof hash);
13
+ if (hash.length !== 60) return false;
14
+
15
+ return hashSync(content, hash.substring(0, hash.length - 31)) === hash;
16
+ };
17
+
18
+ /**
19
+ * Asynchronously compares the given data against the given hash.
20
+ *
21
+ * @param content Data to compare
22
+ * @param hash Data to be compared to
23
+ * @param progressCallback Callback successively called with the percentage of rounds completed
24
+ * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.
25
+ */
26
+ export const compare = (
27
+ content: string,
28
+ hash: string,
29
+ progressCallback?: (percent: number) => void
30
+ ): Promise<boolean> =>
31
+ new Promise((resolve, reject) => {
32
+ if (typeof content !== "string" || typeof hash !== "string") {
33
+ nextTick(() =>
34
+ reject(
35
+ new Error(`Illegal arguments: ${typeof content}, ${typeof hash}`)
36
+ )
37
+ );
38
+
39
+ return;
40
+ }
41
+
42
+ if (hash.length !== 60) {
43
+ nextTick(() => reject(false));
44
+
45
+ return;
46
+ }
47
+
48
+ hashAsync(content, hash.substring(0, 29), progressCallback)
49
+ .then((comp) => resolve(comp === hash))
50
+ .catch((err) => reject(err));
51
+ });