총 10분 중 11분
2001
시즌 2개, 그리고 영화
시즌 2:
5화
“아일랜드”
출연: 이나영, 김민준, 김민정, 현빈
장르: 애초에 역경을 딛고 이룩하는 숭고한 사랑이란 없다. 그 역경 자체가 사랑이다.
프로그램 특징: 그 곳에서 살아남는 사랑이 어떤 모습으로 걸어오는지 기다려 보고 싶다.
장르: 애초에 역경을 딛고 이룩하는 숭고한 사랑이란 없다. 그 역경 자체가 사랑이다.
프로그램 특징: 그 곳에서 살아남는 사랑이 어떤 모습으로 걸어오는지 기다려 보고 싶다.
회차
-
[Node.js] 비밀번호 암호화하기 - bcypt 모듈0530분비밀번호가 req.body에 담겨서 이동할 때 암호화없이 그대로 이동하면 js 코드로 값을 홀랑 알아내버릴 수 있다.해시함수를 이용해 암호화해보자. 한 번 해시된 값은 원래 입력값으로 되돌릴 수 없다. const bcrypt = require("bcrypt");const password = "qwer";bycrypt.hash(password, 10, (err,hash) => { try { // 해시화된 비밀번호를 디비에서 저장하거나 다른 처리 } catch(err) { } });비밀번호를 10번 해시한 후에 hash 함수를 실행할 것이다. 비밀번호가 디비에 저장되면 로그인할 때마다의 비밀번호가 해시된 비번값과 동일한지 확인해야 로그인 처리를 해줄 수 있다. const l..
-
[Node][Express.js] HTTP transaction 미들웨어0515분*Node.js 프로그래밍 입문(고경희)를 읽고 작성한 글입니다. Express.js(노드 기반 백엔드 프레임워크)를 이용했습니다.Response Request따로 status를 설정하지 않으면 200을 기본값으로 사용한다. POST는 자료가 새로 만들어진 상태를 표현하기 위해 status 201을 이용한다. 미들웨어 Middlewarerouterbody-parserreq - res 중간에서 req을 처리하거나 원하는 형태로 res을 수정하는 것을 미들웨어라고 한다. req가 서버에 도착하기 전 작업 parsing: req body에 포함된 값(아이디, 비번 등)을 앱에서 읽을 수 있는 형태로 변환한다.아이디, 비밀번호 값으로 사용자 인증한다 + 폼 내용 검증 라우팅 처리: 특정 URL로 들어온 re..
-
비동기데이터 처리를 위한 폼 태그 API 이해0503분폼 태그에서 받아온 정보를 DB에서 수정해보자우선 프론트에서 폼을 다룰 때 name을 지우면 안된다. name이랑 id의 차이가 없는 것 같아서 둘 중 하나를 지우고 싶었다. 서버에서 폼을 인식할 떄는 name 속성을 이용하므로 name을 냄겨두도록 하자. HTML 은 GET, POST만 가능하다.정보 수정 페이지 폼에서 버튼 클릭과 동시에 정보를 서버에 보내려면 PUT, DELETE 요청은 어떻게 사용해야할까?1. AJAX (Asynchronouss Javascript And XML)XMLHttpRequest라는 HTTP 요청을 만들어 요청 방식과 넘겨줄 정보를 지정하는 비동기 통신 방법을 말한다.// xhr 객체를 만들고 open 함수를 이용해 form POST to PUT/DELETEdocumen..
-
[Node.js][MongoDB] MVC 모델의 Controller 작성하기0421분*Node.js 프로그래밍 입문(고경희)를 읽고 작성한 글입니다. Design Architecture코드 관리를 편리하게 하기 위해 기능이나 역할에 따라 여러 파일로 나눈 뒤 연결해 사용하는 개념 백엔드는 주로 MVC 패턴 이용백엔드는 API 개발이라고도 볼 수 있는데, 이 API를 애플리케이션으로 만들려면 인터페이스(UI)가 필요하다. { UI: View, API: Controller, DB: Model }모델과 뷰는 컨트롤러를 통해서만 정보 전달이 일어나므로 뷰와 모델은 완전히 분리된다.브라우저가 POST를 통해 자료를 만들때도 컨트롤러를 거쳐 DB에 값을 저장하고, DB에서 값을 가져와 브라우저 화면에 출력할 때도 컨트롤러를 거쳐 모델에서 뷰로 정보가 이동한다. 영역역할설명ModelDB와 연결해 데..
-
MVC 모델에서 모델[MongoDB]과 컨트롤러 연결하기0421분*Node.js 프로그래밍 입문(고경희)를 읽고 작성한 글입니다. 몽고DB : 분산형 NoSQL DB로 JSON 형식을 이용해 문서에 자료 저장.Collection: 여러 개의 도큐먼트로 구성된 자료 저장 방식Document : 자료 저장한 문서여러 연락처를 담은 컬렉션과 연락처 각각을 담은 도큐먼트로 구성MongoDB Atlas : 클라우드에서 데이터베이스 관리하는 툴Shared: 무료 Serverless: 사용량에 따라 비용 부과Dedicated: 매달 일정 금액 지불클러스터: 여러 데이터베이스 서버를 연결해 놓은 서버 그룹 추가 설치 Mongoose module : DB 접속과 관리 명령 제공dotenv package: 환경 변수 설정용 .env환경 변수란 메모리 주소나 비밀번호처럼 애플리케이션마..
-
[Node.js] 비동기처리 동작을 이해해보자0325분*Node.js 프로그래밍 입문(고경희)를 읽고 작성한 글입니다. JS는 싱글 스레드 언어라 한 번에 하나의 작업을 처리한다고 알고 있다. 그런데 어떻게 비동기 처리를 한다는 걸까?? 요청이 실행될 동안 다른 함수를 실행하려면 실행하려는 스레드가 적어도 하나 이상이어야 할텐데 말이다.우선, 노드가 함수를 어떻게 처리하는지 확인해보자. Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JS 런타임이다.노드가 V8 엔진으로 자바 스크립트 코드를 처리한다. 이 V8 엔진 안에 Call Stack에 쌓여있는 함수를 사용자가 Call해서 사용하는 것이다. 동기 작업의 예시로 콜 스택의 동작을 이해해보면,콜 스택에 있는 작업을 처리해서 그 결과를 표시합니다.콜 스택에 있던 작업을 모두 처리했..
-
[Node.js] 파일 관리 - path, File System 모듈0321분*Node.js 프로그래밍 입문(고경희)를 읽고 작성한 글입니다. 버퍼와 스트림 개념 이해하기백엔드 프로그래밍에서 서버와 클라이언트 간 데이터 전송을 효율적으로 하기 위해선 데이터 전체를 한 뭉탱이로 가져오는 것보다 잘게 쪼개서 여러 번에 걸쳐 가져오는 것이 효율적이다. 이런 개념을 버퍼라고 한다. 버퍼를 이용한 데이터 읽고 쓰는 처리 개념이 스트림이다. 그리고 스트림 방식은 pipe를 통해 하나의 처리 흐름으로 조정할 수 있다. pipe는 data 이벤트가 발생했을 때 가져오고 기록하고, 발생하면 또 가져오고 기록하는 과정을 한 꺼번에 처리하도록 연결해준다. const fs = require('fs');const readStream = fs.createReadStream('./readMe.txt', '..
-
Node.js 환경설정0315분*Node.js 프로그래밍 입문(고경희)를 읽고 작성한 글입니다. 백엔드는 여러 영역이 맞물려져 애플리케이션을 만든다.HTTP 프로토콜 : 클라이언트와 서버 간 규칙자료를 다루기 때문에 데이터 베이스 공부클라우드 기본 내용APINode.js 는 자바 스크립트를 기반으로 백엔드 개발을 할 수 있도록 돕는 실행 환경이다. 프레임워크는 서버를 만들 때 반복되는 작업과 복잡한 기능을 처리해주는 함수를 제공한다. 익스프레스 프레임워크, 소켓, Next.js클라이언트 요청에 따라 제공할 자료를 담은 데이터베이스도 백엔드의 필수다. MySQLNoSQL - 몽고 DBAPI 구축 : 서로 다른 2가지 프로그램(언어라고 생각해도 되고) 중간에서 연결해주는 프로그램. 클라이언트와 서버간 자료 공유시에 상호 작용이 가능하도록..
KB_ITs_Your_Life_6th/Node.js
[Node.js] 비밀번호 암호화하기 - bcypt 모듈
728x90
반응형
비밀번호가 req.body에 담겨서 이동할 때 암호화없이 그대로 이동하면 js 코드로 값을 홀랑 알아내버릴 수 있다.
해시함수를 이용해 암호화해보자.
- 한 번 해시된 값은 원래 입력값으로 되돌릴 수 없다.
const bcrypt = require("bcrypt");
const password = "qwer";
bycrypt.hash(password, 10, (err,hash) => {
try {
// 해시화된 비밀번호를 디비에서 저장하거나 다른 처리
} catch(err) {
}
});
비밀번호를 10번 해시한 후에 hash 함수를 실행할 것이다.
비밀번호가 디비에 저장되면 로그인할 때마다의 비밀번호가 해시된 비번값과 동일한지 확인해야 로그인 처리를 해줄 수 있다.
const loginPassword = "로그인 비밀번호";
const hashedPassword = "DB에서 가져온 해시값";
bcrypt.compare(loginPassword, hashedPassword, (error, result) => {
try {
if (result === true){
}
}
...
compare의 콜백함수는 값 2개를 비교한 후에 실행할 함수이므로 result 가 이미 값을 비교한 것이다.
728x90
'KB_ITs_Your_Life_6th > Node.js' 카테고리의 다른 글
[Node][Express.js] HTTP transaction 미들웨어 (0) | 2025.05.15 |
---|---|
비동기데이터 처리를 위한 폼 태그 API 이해 (1) | 2025.05.03 |
[Node.js][MongoDB] MVC 모델의 Controller 작성하기 (0) | 2025.04.21 |
MVC 모델에서 모델[MongoDB]과 컨트롤러 연결하기 (0) | 2025.04.21 |
[Node.js] 비동기처리 동작을 이해해보자 (1) | 2025.03.25 |
2025:05:30
KB_ITs_Your_Life_6th/Node.js
[Node.js] 비밀번호 암호화하기 - bcypt 모듈