Commit c9b4592
crypto: add scrypt() and scryptSync() methods
Scrypt is a password-based key derivation function that is designed to
be expensive both computationally and memory-wise in order to make
brute-force attacks unrewarding.
OpenSSL has had support for the scrypt algorithm since v1.1.0. Add a
Node.js API modeled after `crypto.pbkdf2()` and `crypto.pbkdf2Sync()`.
Changes:
* Introduce helpers for copying buffers, collecting openssl errors, etc.
* Add new infrastructure for offloading crypto to a worker thread.
* Add a `AsyncWrap` JS class to simplify pbkdf2(), randomBytes() and
scrypt().
Fixes: #8417
PR-URL: #20816
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>1 parent 4957562 commit c9b4592Copy full SHA for c9b4592
File tree
Expand file treeCollapse file tree
13 files changed
+617
-57
lines changedOpen diff view settings
Filter options
- doc/api
- lib
- internal
- crypto
- src
- test
- parallel
- sequential
Expand file treeCollapse file tree
13 files changed
+617
-57
lines changedOpen diff view settings
Collapse file
+95-11Lines changed: 95 additions & 11 deletions
- Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
1356 | 1356 | |
1357 | 1357 | |
1358 | 1358 | |
1359 | | - |
| 1359 | + |
1360 | 1360 | |
1361 | | - |
| 1361 | + |
1362 | 1362 | |
1363 | 1363 | |
1364 | 1364 | |
| ||
1458 | 1458 | |
1459 | 1459 | |
1460 | 1460 | |
1461 | | - |
| 1461 | + |
1462 | 1462 | |
1463 | | - |
| 1463 | + |
1464 | 1464 | |
1465 | 1465 | |
1466 | 1466 | |
| ||
1796 | 1796 | |
1797 | 1797 | |
1798 | 1798 | |
1799 | | - |
1800 | | - |
1801 | | - |
| 1799 | + |
| 1800 | + |
1802 | 1801 | |
1803 | 1802 | |
1804 | 1803 | |
| ||
1862 | 1861 | |
1863 | 1862 | |
1864 | 1863 | |
1865 | | - |
1866 | | - |
1867 | | - |
| 1864 | + |
| 1865 | + |
1868 | 1866 | |
1869 | 1867 | |
1870 | 1868 | |
| ||
2138 | 2136 | |
2139 | 2137 | |
2140 | 2138 | |
| 2139 | + |
| 2140 | + |
| 2141 | + |
| 2142 | + |
| 2143 | + |
| 2144 | + |
| 2145 | + |
| 2146 | + |
| 2147 | + |
| 2148 | + |
| 2149 | + |
| 2150 | + |
| 2151 | + |
| 2152 | + |
| 2153 | + |
| 2154 | + |
| 2155 | + |
| 2156 | + |
| 2157 | + |
| 2158 | + |
| 2159 | + |
| 2160 | + |
| 2161 | + |
| 2162 | + |
| 2163 | + |
| 2164 | + |
| 2165 | + |
| 2166 | + |
| 2167 | + |
| 2168 | + |
| 2169 | + |
| 2170 | + |
| 2171 | + |
| 2172 | + |
| 2173 | + |
| 2174 | + |
| 2175 | + |
| 2176 | + |
| 2177 | + |
| 2178 | + |
| 2179 | + |
| 2180 | + |
| 2181 | + |
| 2182 | + |
| 2183 | + |
| 2184 | + |
| 2185 | + |
| 2186 | + |
| 2187 | + |
| 2188 | + |
| 2189 | + |
| 2190 | + |
| 2191 | + |
| 2192 | + |
| 2193 | + |
| 2194 | + |
| 2195 | + |
| 2196 | + |
| 2197 | + |
| 2198 | + |
| 2199 | + |
| 2200 | + |
| 2201 | + |
| 2202 | + |
| 2203 | + |
| 2204 | + |
| 2205 | + |
| 2206 | + |
| 2207 | + |
| 2208 | + |
| 2209 | + |
| 2210 | + |
| 2211 | + |
| 2212 | + |
| 2213 | + |
| 2214 | + |
| 2215 | + |
| 2216 | + |
| 2217 | + |
| 2218 | + |
| 2219 | + |
| 2220 | + |
| 2221 | + |
| 2222 | + |
| 2223 | + |
2141 | 2224 | |
2142 | 2225 | |
2143 | 2226 | |
| ||
2645 | 2728 | |
2646 | 2729 | |
2647 | 2730 | |
2648 | | - |
2649 | 2731 | |
2650 | 2732 | |
| 2733 | + |
2651 | 2734 | |
2652 | 2735 | |
2653 | 2736 | |
| ||
2681 | 2764 | |
2682 | 2765 | |
2683 | 2766 | |
| 2767 | + |
2684 | 2768 | |
2685 | 2769 | |
Collapse file
+14Lines changed: 14 additions & 0 deletions
- Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
739 | 739 | |
740 | 740 | |
741 | 741 | |
| 742 | + |
| 743 | + |
| 744 | + |
| 745 | + |
| 746 | + |
| 747 | + |
| 748 | + |
| 749 | + |
| 750 | + |
| 751 | + |
| 752 | + |
| 753 | + |
742 | 754 | |
743 | 755 | |
744 | 756 | |
| ||
1750 | 1762 | |
1751 | 1763 | |
1752 | 1764 | |
| 1765 | + |
| 1766 | + |
1753 | 1767 | |
1754 | 1768 | |
1755 | 1769 | |
|
Collapse file
+6Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
52 | 52 | |
53 | 53 | |
54 | 54 | |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | + |
55 | 59 | |
56 | 60 | |
57 | 61 | |
| ||
163 | 167 | |
164 | 168 | |
165 | 169 | |
| 170 | + |
| 171 | + |
166 | 172 | |
167 | 173 | |
168 | 174 | |
|
Collapse file
lib/internal/crypto/scrypt.js
Copy file name to clipboard+97Lines changed: 97 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 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 | + |
| 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 | + |
| 54 | + |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | + |
| 81 | + |
| 82 | + |
| 83 | + |
| 84 | + |
| 85 | + |
| 86 | + |
| 87 | + |
| 88 | + |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | + |
| 93 | + |
| 94 | + |
| 95 | + |
| 96 | + |
| 97 | + |
Collapse file
+2-1Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
503 | 503 | |
504 | 504 | |
505 | 505 | |
506 | | - |
| 506 | + |
| 507 | + |
507 | 508 | |
508 | 509 | |
509 | 510 | |
|
Collapse file
+1Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
97 | 97 | |
98 | 98 | |
99 | 99 | |
| 100 | + |
100 | 101 | |
101 | 102 | |
102 | 103 | |
|
Collapse file
+31Lines changed: 31 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
45 | 45 | |
46 | 46 | |
47 | 47 | |
| 48 | + |
48 | 49 | |
49 | 50 | |
50 | 51 | |
| ||
133 | 134 | |
134 | 135 | |
135 | 136 | |
| 137 | + |
| 138 | + |
| 139 | + |
| 140 | + |
| 141 | + |
| 142 | + |
| 143 | + |
| 144 | + |
| 145 | + |
| 146 | + |
| 147 | + |
| 148 | + |
| 149 | + |
| 150 | + |
| 151 | + |
| 152 | + |
| 153 | + |
136 | 154 | |
137 | 155 | |
138 | 156 | |
| ||
569 | 587 | |
570 | 588 | |
571 | 589 | |
| 590 | + |
| 591 | + |
| 592 | + |
| 593 | + |
| 594 | + |
| 595 | + |
| 596 | + |
| 597 | + |
| 598 | + |
| 599 | + |
| 600 | + |
| 601 | + |
| 602 | + |
572 | 603 | |
573 | 604 | |
574 | 605 | |
|
Collapse file
+1Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
75 | 75 | |
76 | 76 | |
77 | 77 | |
| 78 | + |
78 | 79 | |
79 | 80 | |
80 | 81 | |
|
Collapse file
+1Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
319 | 319 | |
320 | 320 | |
321 | 321 | |
| 322 | + |
322 | 323 | |
323 | 324 | |
324 | 325 | |
|
0 commit comments