swa07016

bcrypt를 이용한 패스워드 암호화

...@@ -4,6 +4,11 @@ ...@@ -4,6 +4,11 @@
4 "lockfileVersion": 1, 4 "lockfileVersion": 1,
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "dependencies": {
7 + "abbrev": {
8 + "version": "1.1.1",
9 + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
10 + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
11 + },
7 "accepts": { 12 "accepts": {
8 "version": "1.3.7", 13 "version": "1.3.7",
9 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 14 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
...@@ -26,11 +31,39 @@ ...@@ -26,11 +31,39 @@
26 "color-convert": "^1.9.0" 31 "color-convert": "^1.9.0"
27 } 32 }
28 }, 33 },
34 + "aproba": {
35 + "version": "1.2.0",
36 + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
37 + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
38 + },
39 + "are-we-there-yet": {
40 + "version": "1.1.5",
41 + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
42 + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
43 + "requires": {
44 + "delegates": "^1.0.0",
45 + "readable-stream": "^2.0.6"
46 + }
47 + },
29 "array-flatten": { 48 "array-flatten": {
30 "version": "1.1.1", 49 "version": "1.1.1",
31 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 50 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
32 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 51 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
33 }, 52 },
53 + "balanced-match": {
54 + "version": "1.0.0",
55 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
56 + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
57 + },
58 + "bcrypt": {
59 + "version": "4.0.1",
60 + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-4.0.1.tgz",
61 + "integrity": "sha512-hSIZHkUxIDS5zA2o00Kf2O5RfVbQ888n54xQoF/eIaquU4uaLxK8vhhBdktd0B3n2MjkcAWzv4mnhogykBKOUQ==",
62 + "requires": {
63 + "node-addon-api": "^2.0.0",
64 + "node-pre-gyp": "0.14.0"
65 + }
66 + },
34 "bignumber.js": { 67 "bignumber.js": {
35 "version": "9.0.0", 68 "version": "9.0.0",
36 "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", 69 "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz",
...@@ -63,6 +96,15 @@ ...@@ -63,6 +96,15 @@
63 } 96 }
64 } 97 }
65 }, 98 },
99 + "brace-expansion": {
100 + "version": "1.1.11",
101 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
102 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
103 + "requires": {
104 + "balanced-match": "^1.0.0",
105 + "concat-map": "0.0.1"
106 + }
107 + },
66 "bytes": { 108 "bytes": {
67 "version": "3.1.0", 109 "version": "3.1.0",
68 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 110 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
...@@ -93,6 +135,11 @@ ...@@ -93,6 +135,11 @@
93 } 135 }
94 } 136 }
95 }, 137 },
138 + "chownr": {
139 + "version": "1.1.4",
140 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
141 + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
142 + },
96 "cliui": { 143 "cliui": {
97 "version": "5.0.0", 144 "version": "5.0.0",
98 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", 145 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
...@@ -103,6 +150,11 @@ ...@@ -103,6 +150,11 @@
103 "wrap-ansi": "^5.1.0" 150 "wrap-ansi": "^5.1.0"
104 } 151 }
105 }, 152 },
153 + "code-point-at": {
154 + "version": "1.1.0",
155 + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
156 + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
157 + },
106 "color-convert": { 158 "color-convert": {
107 "version": "1.9.3", 159 "version": "1.9.3",
108 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 160 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
...@@ -116,6 +168,11 @@ ...@@ -116,6 +168,11 @@
116 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 168 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
117 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 169 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
118 }, 170 },
171 + "concat-map": {
172 + "version": "0.0.1",
173 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
174 + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
175 + },
119 "concurrently": { 176 "concurrently": {
120 "version": "5.2.0", 177 "version": "5.2.0",
121 "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.2.0.tgz", 178 "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.2.0.tgz",
...@@ -132,6 +189,11 @@ ...@@ -132,6 +189,11 @@
132 "yargs": "^13.3.0" 189 "yargs": "^13.3.0"
133 } 190 }
134 }, 191 },
192 + "console-control-strings": {
193 + "version": "1.1.0",
194 + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
195 + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
196 + },
135 "content-disposition": { 197 "content-disposition": {
136 "version": "0.5.3", 198 "version": "0.5.3",
137 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", 199 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
...@@ -178,6 +240,16 @@ ...@@ -178,6 +240,16 @@
178 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 240 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
179 "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" 241 "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
180 }, 242 },
243 + "deep-extend": {
244 + "version": "0.6.0",
245 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
246 + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
247 + },
248 + "delegates": {
249 + "version": "1.0.0",
250 + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
251 + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
252 + },
181 "depd": { 253 "depd": {
182 "version": "1.1.2", 254 "version": "1.1.2",
183 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 255 "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
...@@ -188,6 +260,11 @@ ...@@ -188,6 +260,11 @@
188 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 260 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
189 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 261 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
190 }, 262 },
263 + "detect-libc": {
264 + "version": "1.0.3",
265 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
266 + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
267 + },
191 "ee-first": { 268 "ee-first": {
192 "version": "1.1.1", 269 "version": "1.1.1",
193 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 270 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
...@@ -302,16 +379,95 @@ ...@@ -302,16 +379,95 @@
302 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 379 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
303 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 380 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
304 }, 381 },
382 + "fs-minipass": {
383 + "version": "1.2.7",
384 + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
385 + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
386 + "requires": {
387 + "minipass": "^2.6.0"
388 + }
389 + },
390 + "fs.realpath": {
391 + "version": "1.0.0",
392 + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
393 + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
394 + },
395 + "gauge": {
396 + "version": "2.7.4",
397 + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
398 + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
399 + "requires": {
400 + "aproba": "^1.0.3",
401 + "console-control-strings": "^1.0.0",
402 + "has-unicode": "^2.0.0",
403 + "object-assign": "^4.1.0",
404 + "signal-exit": "^3.0.0",
405 + "string-width": "^1.0.1",
406 + "strip-ansi": "^3.0.1",
407 + "wide-align": "^1.1.0"
408 + },
409 + "dependencies": {
410 + "ansi-regex": {
411 + "version": "2.1.1",
412 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
413 + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
414 + },
415 + "is-fullwidth-code-point": {
416 + "version": "1.0.0",
417 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
418 + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
419 + "requires": {
420 + "number-is-nan": "^1.0.0"
421 + }
422 + },
423 + "string-width": {
424 + "version": "1.0.2",
425 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
426 + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
427 + "requires": {
428 + "code-point-at": "^1.0.0",
429 + "is-fullwidth-code-point": "^1.0.0",
430 + "strip-ansi": "^3.0.0"
431 + }
432 + },
433 + "strip-ansi": {
434 + "version": "3.0.1",
435 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
436 + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
437 + "requires": {
438 + "ansi-regex": "^2.0.0"
439 + }
440 + }
441 + }
442 + },
305 "get-caller-file": { 443 "get-caller-file": {
306 "version": "2.0.5", 444 "version": "2.0.5",
307 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 445 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
308 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" 446 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
309 }, 447 },
448 + "glob": {
449 + "version": "7.1.6",
450 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
451 + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
452 + "requires": {
453 + "fs.realpath": "^1.0.0",
454 + "inflight": "^1.0.4",
455 + "inherits": "2",
456 + "minimatch": "^3.0.4",
457 + "once": "^1.3.0",
458 + "path-is-absolute": "^1.0.0"
459 + }
460 + },
310 "has-flag": { 461 "has-flag": {
311 "version": "3.0.0", 462 "version": "3.0.0",
312 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 463 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
313 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 464 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
314 }, 465 },
466 + "has-unicode": {
467 + "version": "2.0.1",
468 + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
469 + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
470 + },
315 "hosted-git-info": { 471 "hosted-git-info": {
316 "version": "2.8.8", 472 "version": "2.8.8",
317 "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", 473 "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
...@@ -337,11 +493,33 @@ ...@@ -337,11 +493,33 @@
337 "safer-buffer": ">= 2.1.2 < 3" 493 "safer-buffer": ">= 2.1.2 < 3"
338 } 494 }
339 }, 495 },
496 + "ignore-walk": {
497 + "version": "3.0.3",
498 + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
499 + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
500 + "requires": {
501 + "minimatch": "^3.0.4"
502 + }
503 + },
504 + "inflight": {
505 + "version": "1.0.6",
506 + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
507 + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
508 + "requires": {
509 + "once": "^1.3.0",
510 + "wrappy": "1"
511 + }
512 + },
340 "inherits": { 513 "inherits": {
341 "version": "2.0.3", 514 "version": "2.0.3",
342 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 515 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
343 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 516 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
344 }, 517 },
518 + "ini": {
519 + "version": "1.3.5",
520 + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
521 + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
522 + },
345 "ipaddr.js": { 523 "ipaddr.js": {
346 "version": "1.9.1", 524 "version": "1.9.1",
347 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 525 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
...@@ -414,6 +592,44 @@ ...@@ -414,6 +592,44 @@
414 "mime-db": "1.44.0" 592 "mime-db": "1.44.0"
415 } 593 }
416 }, 594 },
595 + "minimatch": {
596 + "version": "3.0.4",
597 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
598 + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
599 + "requires": {
600 + "brace-expansion": "^1.1.7"
601 + }
602 + },
603 + "minimist": {
604 + "version": "1.2.5",
605 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
606 + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
607 + },
608 + "minipass": {
609 + "version": "2.9.0",
610 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
611 + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
612 + "requires": {
613 + "safe-buffer": "^5.1.2",
614 + "yallist": "^3.0.0"
615 + }
616 + },
617 + "minizlib": {
618 + "version": "1.3.3",
619 + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
620 + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
621 + "requires": {
622 + "minipass": "^2.9.0"
623 + }
624 + },
625 + "mkdirp": {
626 + "version": "0.5.5",
627 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
628 + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
629 + "requires": {
630 + "minimist": "^1.2.5"
631 + }
632 + },
417 "ms": { 633 "ms": {
418 "version": "2.0.0", 634 "version": "2.0.0",
419 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 635 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
...@@ -430,11 +646,75 @@ ...@@ -430,11 +646,75 @@
430 "sqlstring": "2.3.1" 646 "sqlstring": "2.3.1"
431 } 647 }
432 }, 648 },
649 + "needle": {
650 + "version": "2.5.0",
651 + "resolved": "https://registry.npmjs.org/needle/-/needle-2.5.0.tgz",
652 + "integrity": "sha512-o/qITSDR0JCyCKEQ1/1bnUXMmznxabbwi/Y4WwJElf+evwJNFNwIDMCCt5IigFVxgeGBJESLohGtIS9gEzo1fA==",
653 + "requires": {
654 + "debug": "^3.2.6",
655 + "iconv-lite": "^0.4.4",
656 + "sax": "^1.2.4"
657 + },
658 + "dependencies": {
659 + "debug": {
660 + "version": "3.2.6",
661 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
662 + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
663 + "requires": {
664 + "ms": "^2.1.1"
665 + }
666 + },
667 + "iconv-lite": {
668 + "version": "0.4.24",
669 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
670 + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
671 + "requires": {
672 + "safer-buffer": ">= 2.1.2 < 3"
673 + }
674 + },
675 + "ms": {
676 + "version": "2.1.2",
677 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
678 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
679 + }
680 + }
681 + },
433 "negotiator": { 682 "negotiator": {
434 "version": "0.6.2", 683 "version": "0.6.2",
435 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 684 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
436 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 685 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
437 }, 686 },
687 + "node-addon-api": {
688 + "version": "2.0.1",
689 + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.1.tgz",
690 + "integrity": "sha512-2WVfwRfIr1AVn3dRq4yRc2Hn35ND+mPJH6inC6bjpYCZVrpXPB4j3T6i//OGVfqVsR1t/X/axRulDsheq4F0LQ=="
691 + },
692 + "node-pre-gyp": {
693 + "version": "0.14.0",
694 + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz",
695 + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==",
696 + "requires": {
697 + "detect-libc": "^1.0.2",
698 + "mkdirp": "^0.5.1",
699 + "needle": "^2.2.1",
700 + "nopt": "^4.0.1",
701 + "npm-packlist": "^1.1.6",
702 + "npmlog": "^4.0.2",
703 + "rc": "^1.2.7",
704 + "rimraf": "^2.6.1",
705 + "semver": "^5.3.0",
706 + "tar": "^4.4.2"
707 + }
708 + },
709 + "nopt": {
710 + "version": "4.0.3",
711 + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
712 + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
713 + "requires": {
714 + "abbrev": "1",
715 + "osenv": "^0.1.4"
716 + }
717 + },
438 "normalize-package-data": { 718 "normalize-package-data": {
439 "version": "2.5.0", 719 "version": "2.5.0",
440 "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 720 "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
...@@ -446,6 +726,50 @@ ...@@ -446,6 +726,50 @@
446 "validate-npm-package-license": "^3.0.1" 726 "validate-npm-package-license": "^3.0.1"
447 } 727 }
448 }, 728 },
729 + "npm-bundled": {
730 + "version": "1.1.1",
731 + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
732 + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
733 + "requires": {
734 + "npm-normalize-package-bin": "^1.0.1"
735 + }
736 + },
737 + "npm-normalize-package-bin": {
738 + "version": "1.0.1",
739 + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
740 + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
741 + },
742 + "npm-packlist": {
743 + "version": "1.4.8",
744 + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
745 + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
746 + "requires": {
747 + "ignore-walk": "^3.0.1",
748 + "npm-bundled": "^1.0.1",
749 + "npm-normalize-package-bin": "^1.0.1"
750 + }
751 + },
752 + "npmlog": {
753 + "version": "4.1.2",
754 + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
755 + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
756 + "requires": {
757 + "are-we-there-yet": "~1.1.2",
758 + "console-control-strings": "~1.1.0",
759 + "gauge": "~2.7.3",
760 + "set-blocking": "~2.0.0"
761 + }
762 + },
763 + "number-is-nan": {
764 + "version": "1.0.1",
765 + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
766 + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
767 + },
768 + "object-assign": {
769 + "version": "4.1.1",
770 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
771 + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
772 + },
449 "on-finished": { 773 "on-finished": {
450 "version": "2.3.0", 774 "version": "2.3.0",
451 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 775 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
...@@ -454,6 +778,33 @@ ...@@ -454,6 +778,33 @@
454 "ee-first": "1.1.1" 778 "ee-first": "1.1.1"
455 } 779 }
456 }, 780 },
781 + "once": {
782 + "version": "1.4.0",
783 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
784 + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
785 + "requires": {
786 + "wrappy": "1"
787 + }
788 + },
789 + "os-homedir": {
790 + "version": "1.0.2",
791 + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
792 + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
793 + },
794 + "os-tmpdir": {
795 + "version": "1.0.2",
796 + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
797 + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
798 + },
799 + "osenv": {
800 + "version": "0.1.5",
801 + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
802 + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
803 + "requires": {
804 + "os-homedir": "^1.0.0",
805 + "os-tmpdir": "^1.0.0"
806 + }
807 + },
457 "p-limit": { 808 "p-limit": {
458 "version": "2.3.0", 809 "version": "2.3.0",
459 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 810 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
...@@ -494,6 +845,11 @@ ...@@ -494,6 +845,11 @@
494 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 845 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
495 "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" 846 "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
496 }, 847 },
848 + "path-is-absolute": {
849 + "version": "1.0.1",
850 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
851 + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
852 + },
497 "path-parse": { 853 "path-parse": {
498 "version": "1.0.6", 854 "version": "1.0.6",
499 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 855 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
...@@ -549,6 +905,17 @@ ...@@ -549,6 +905,17 @@
549 } 905 }
550 } 906 }
551 }, 907 },
908 + "rc": {
909 + "version": "1.2.8",
910 + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
911 + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
912 + "requires": {
913 + "deep-extend": "^0.6.0",
914 + "ini": "~1.3.0",
915 + "minimist": "^1.2.0",
916 + "strip-json-comments": "~2.0.1"
917 + }
918 + },
552 "read-pkg": { 919 "read-pkg": {
553 "version": "4.0.1", 920 "version": "4.0.1",
554 "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", 921 "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz",
...@@ -591,6 +958,14 @@ ...@@ -591,6 +958,14 @@
591 "path-parse": "^1.0.6" 958 "path-parse": "^1.0.6"
592 } 959 }
593 }, 960 },
961 + "rimraf": {
962 + "version": "2.7.1",
963 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
964 + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
965 + "requires": {
966 + "glob": "^7.1.3"
967 + }
968 + },
594 "rxjs": { 969 "rxjs": {
595 "version": "6.5.5", 970 "version": "6.5.5",
596 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", 971 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
...@@ -609,6 +984,11 @@ ...@@ -609,6 +984,11 @@
609 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 984 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
610 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 985 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
611 }, 986 },
987 + "sax": {
988 + "version": "1.2.4",
989 + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
990 + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
991 + },
612 "semver": { 992 "semver": {
613 "version": "5.7.1", 993 "version": "5.7.1",
614 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 994 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
...@@ -662,6 +1042,11 @@ ...@@ -662,6 +1042,11 @@
662 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 1042 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
663 "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 1043 "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
664 }, 1044 },
1045 + "signal-exit": {
1046 + "version": "3.0.3",
1047 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
1048 + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
1049 + },
665 "spawn-command": { 1050 "spawn-command": {
666 "version": "0.0.2-1", 1051 "version": "0.0.2-1",
667 "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", 1052 "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
...@@ -731,6 +1116,11 @@ ...@@ -731,6 +1116,11 @@
731 "ansi-regex": "^4.1.0" 1116 "ansi-regex": "^4.1.0"
732 } 1117 }
733 }, 1118 },
1119 + "strip-json-comments": {
1120 + "version": "2.0.1",
1121 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
1122 + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
1123 + },
734 "supports-color": { 1124 "supports-color": {
735 "version": "6.1.0", 1125 "version": "6.1.0",
736 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", 1126 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
...@@ -739,6 +1129,20 @@ ...@@ -739,6 +1129,20 @@
739 "has-flag": "^3.0.0" 1129 "has-flag": "^3.0.0"
740 } 1130 }
741 }, 1131 },
1132 + "tar": {
1133 + "version": "4.4.13",
1134 + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
1135 + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
1136 + "requires": {
1137 + "chownr": "^1.1.1",
1138 + "fs-minipass": "^1.2.5",
1139 + "minipass": "^2.8.6",
1140 + "minizlib": "^1.2.1",
1141 + "mkdirp": "^0.5.0",
1142 + "safe-buffer": "^5.1.2",
1143 + "yallist": "^3.0.3"
1144 + }
1145 + },
742 "toidentifier": { 1146 "toidentifier": {
743 "version": "1.0.0", 1147 "version": "1.0.0",
744 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 1148 "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
...@@ -797,6 +1201,38 @@ ...@@ -797,6 +1201,38 @@
797 "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 1201 "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
798 "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" 1202 "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
799 }, 1203 },
1204 + "wide-align": {
1205 + "version": "1.1.3",
1206 + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
1207 + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
1208 + "requires": {
1209 + "string-width": "^1.0.2 || 2"
1210 + },
1211 + "dependencies": {
1212 + "ansi-regex": {
1213 + "version": "3.0.0",
1214 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
1215 + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
1216 + },
1217 + "string-width": {
1218 + "version": "2.1.1",
1219 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
1220 + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
1221 + "requires": {
1222 + "is-fullwidth-code-point": "^2.0.0",
1223 + "strip-ansi": "^4.0.0"
1224 + }
1225 + },
1226 + "strip-ansi": {
1227 + "version": "4.0.0",
1228 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
1229 + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
1230 + "requires": {
1231 + "ansi-regex": "^3.0.0"
1232 + }
1233 + }
1234 + }
1235 + },
800 "wrap-ansi": { 1236 "wrap-ansi": {
801 "version": "5.1.0", 1237 "version": "5.1.0",
802 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", 1238 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
...@@ -807,11 +1243,21 @@ ...@@ -807,11 +1243,21 @@
807 "strip-ansi": "^5.0.0" 1243 "strip-ansi": "^5.0.0"
808 } 1244 }
809 }, 1245 },
1246 + "wrappy": {
1247 + "version": "1.0.2",
1248 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1249 + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
1250 + },
810 "y18n": { 1251 "y18n": {
811 "version": "4.0.0", 1252 "version": "4.0.0",
812 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", 1253 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
813 "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" 1254 "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
814 }, 1255 },
1256 + "yallist": {
1257 + "version": "3.1.1",
1258 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
1259 + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
1260 + },
815 "yargs": { 1261 "yargs": {
816 "version": "13.3.2", 1262 "version": "13.3.2",
817 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", 1263 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
15 "author": "SeongHoon", 15 "author": "SeongHoon",
16 "license": "ISC", 16 "license": "ISC",
17 "dependencies": { 17 "dependencies": {
18 + "bcrypt": "^4.0.1",
18 "body-parser": "^1.19.0", 19 "body-parser": "^1.19.0",
19 "concurrently": "^5.2.0", 20 "concurrently": "^5.2.0",
20 "express": "^4.17.1", 21 "express": "^4.17.1",
......
...@@ -2,7 +2,10 @@ const express = require('express'); ...@@ -2,7 +2,10 @@ const express = require('express');
2 const bodyParser = require('body-parser'); 2 const bodyParser = require('body-parser');
3 const fs = require('fs'); 3 const fs = require('fs');
4 const mysql = require('mysql'); 4 const mysql = require('mysql');
5 -var iconv = require('iconv-lite'); 5 +const iconv = require('iconv-lite');
6 +
7 +const bcrypt = require('bcrypt');
8 +const saltRounds = 10;
6 9
7 const app = express(); 10 const app = express();
8 const port = process.env.PORT || 5000; 11 const port = process.env.PORT || 5000;
...@@ -41,7 +44,10 @@ app.get('/api/datas', (req, res) => { ...@@ -41,7 +44,10 @@ app.get('/api/datas', (req, res) => {
41 // signup 44 // signup
42 app.post('/api/signup', (req, res) => { 45 app.post('/api/signup', (req, res) => {
43 let sql = 'INSERT INTO USER (name, pw) VALUES(?, ?)'; 46 let sql = 'INSERT INTO USER (name, pw) VALUES(?, ?)';
44 - const params = [req.body.username, req.body.password]; 47 + let plainPassword = req.body.password;
48 + bcrypt.hash(plainPassword, saltRounds, function(err, hash) {
49 +
50 + const params = [req.body.username, hash];
45 connection.query(sql, params, (err, rows, fields) => { 51 connection.query(sql, params, (err, rows, fields) => {
46 if(err){ 52 if(err){
47 console.log(err); 53 console.log(err);
...@@ -57,7 +63,7 @@ app.post('/api/signup', (req, res) => { ...@@ -57,7 +63,7 @@ app.post('/api/signup', (req, res) => {
57 }) 63 })
58 } 64 }
59 }) 65 })
60 - 66 + })
61 }) 67 })
62 68
63 app.listen(port, () => console.log(`Listening on port ${port}`)); 69 app.listen(port, () => console.log(`Listening on port ${port}`));
...\ No newline at end of file ...\ No newline at end of file
......