[Node.js] 10 일차 - 내장모듈 (2)

Pongchi·2022년 5월 27일
0

Node.js

목록 보기
10/11

url

인터넷 주소를 쉽게 조작하도록 도와주는 모듈

  • url 처리에는 크게 두 가지 방식이 있다.
    * 노드 버전 7에서 추가된 WHATWG 방식의 url
    • 예전부터 노드에서 사용하던 방식의 url

가운데를 기준으로 위쪽은 기존 노드 방식, 아래쪽은 WHATWG 구분 방식

  • url 모듈안에 URL 생성자가 있다. 이 생성자에 주소를 넣어 객체로 만들면 주소가 부분별로 정리됨. 이 방식은 WHATWG 방식이다.
  • WHATWG에만 있는 username, password, origin, searchParams 속성이 존재

  • WHATWG와 노드 url은 취향에 따라 사용하면 되지만, 노드의 url형식을 꼭 사용해야 하는 경우가 있다.
  • 바로, 주소가 host 부분없이 pathname 부분만 오는 경우(/book/bookList.apsx), WHATWG 방식은 이 주소를 처리할 수 없다.

WHATWG의 searchParams

  • WHATWG 방식의 search 부분은 보통 주소를 통해 데이터를 전달할 때 사용(GET 방식)

searchParams의 메소드들


querystring

WHATWG 방식의 url 대신 기존 노드의 url을 사용할 때 search 부분을 사용하게 쉽게 객체로 만드는 모듈


crypto

다양한 방식의 암호화를 도와주는 모듈

단방향 암호화 ( 해시 기법 )



  • 현재는 주로 pbkdf2나 bcrypt, scrypt라는 알고리즘으로 비밀번호를 암호화함

  • 이중에서 pbkdf2는 노드에서 지원을 한다.

  • pbkdf2는 기존 문자열에 salt라고 불리는 문자열을 붙인 후 해시 알고리즘을 반복해서 적용하는 것

  • 64바이트 길이의 랜덤문자열을 만들어 salt로 넣고, 10만번 반복해서 해싱.

  • 많이 걸린다고 생각할 수 있지만, 약 1초밖에 안걸림. ( 컴퓨터가 너무 좋아져서 )

  • 하지만, pbkdf2는 bcrypt나 scrypt보다 취약함

양방향 암호화



  • crypto 모듈은 양방향 비대칭형 암호화, HMAC 등의 다양한 암호화를 제공하고 있음

util

각종 편의 기능을 모아둔 모듈. 계속해서 API가 추가되고 있고, 가끔 deprecated되어 사라지는 경우도 있음.


profile
- I'm going to be a ???

0개의 댓글