• Home
  • About
    • CodingGom's dev blog photo

      CodingGom's dev blog

      CodingGom의 개발 발자취

    • Learn More
    • Email
  • Posts
    • All Posts
    • All Tags
  • Projects

[Programming] Node.js 기초 - 내장모듈

22 May 2019

Reading time ~2 minutes

Node.js 내장모듈

Node.js에서 기본적으로 제공하는 내장모듈

  • require(‘모듈명’) : 인자로 받은 모듈을 가져와 사용할수 있게 해준다.
    • #include 나 import 같은거, 전처리기가 아닌 함수형태로 제공

os

os 정보를 담고있는 모듈

path

파일이나 폴더의 경로를 다루는데 도움을 주는 모듈

url

  • 문자열 —- parse() —> url객체 : url.parse()은 문자열을 받아 url객체를 리턴
    • url.parse(urlStr, [parseQueryString], [slashesDenoteHost])
      • parseQueryString : url객체의 query속성을 true면 객체로 false면 문자열 형식으로 가져옴
      • slashesDenoteHost : urlStr부분에서 true 면 host/path 로 false면 전체를 path로 host는 null로 인식
  • url객체 — format() —-> 문자열 : url.format()는 url객체를 받아 문자열url로 리턴
  • resolve(base, href) : base url 에 이동할 url(href url)을 연결해줘서 반환

querystring

  • query와 관련된 모듈, url.parse의 두번째 인자값에 따라 대체가능
  • 문자열 —- parse() —> query객체 : query.parse()은 문자열을 받아 url객체를 리턴, querystring.decode() 와 같다.
  • query객체 — stringify() —-> 문자열 : query.stringify()는 url객체를 받아 문자열url로 리턴, querystring.encode()와 같다.
  • parse(), stringify()에 들어가는 인자중 2번째 3번째 인자
    • 2번째 : separator, query가 여러개일경우 각각을 구분 (기본값 : ‘&’)
    • 3번째 : assignment, query각각에 value 대입, key와 value를 연결한다는 뜻 (기본값 : ‘=’)
    • 4번째 : option, parse()의 경우
      • maxKeys : 0~1000 사이 정수, 0일경우 제한없다는 뜻, 쿼리 갯수 제한 (기본값 : 1000)
      • decodeURIComponent : query 문자열에서 퍼센트 인코딩 된 문자를 디코딩 할 때 사용할 함수, 기본값 : querystring.unescape()
    • 4번째 : option, stringify()의 경우
      • encodeURIComponent : url에서 적합하지 않은 문자를 치환해주는 함수, 기본값 : querystring.escape()

crypto

  • 암호화 모듈
  • 단방향 : 복호화가 필요없는 내용을 암호화할때 주로 사용, 복호화 불가 1) createHash(algorithm) : md5, sha1, sha256, sha512 암호화할 알고리즘을 지정. 2) update(str) : 비밀번호등 변환할 문자열(str) 지정. 3) digest(encode) : base64, hex 등 인코딩할 알고리즘 지정.

    var crypto = require(‘crypto’); var md5sum = crypto.createHash(‘md5’); md5sum.update(‘password’); var output = md5sum.digest(‘base64’); console.log(‘pw :’, output);

  • 양방향 : 암호화와 복화와 모두 가능
    • 대칭키 방식 : 암호화와 복호화에 동일한키 사용
    • 비대칭키 방식 : 암호화와 복호화에 다른키 사용

      var crypto = require(‘crypto’); var cipher = crypto.createCipher(‘aes192’, ‘key’); var input = ‘1234’; cipher.update(input, ‘utf8’, ‘base64’); var cipheredOutput = cipher.final(‘base64’);

    var decipher = crypto.createDecipher(‘aes192’, ‘key’); decipher.update(cipheredOutput, ‘base64’, ‘utf8’); var decipheredOutput = decipher.final(‘utf8’);

    console.log(‘original :’, input); // 1234 console.log(‘암호화 : ‘, cipheredOutput); // 암호화된 내용 console.log(‘복호화 : ‘, decipheredOutput); // 암호화된 내용을 복호화한 내, ‘1234’



Programming Share Tweet +1