일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로미스
- docker
- 호이스팅
- status code
- async/await
- TypeError: this.boardRepository.createBoard is not a function
- javascript
- Django
- westagram
- rebase
- 장고초기세팅
- crud2
- typescript
- 스코프
- 트랜잭션
- OSI7계층
- bcrypt
- on_delete
- JWT
- manytomanyfield
- CORS
- pm2
- 자바스크립트
- 노드
- nodeJS
- node
- django westagram
- Jest
- wecode
- 실행 컨텍스트
- Today
- Total
목록bcrypt (2)
될때까지

🌸 intro 오늘은 회원가입을 구현했다. 이메일 양식 검증 비밀번호 양식 검증 이메일 중복 => 409 에러 비밀번호 암호화 => bcrypt사용 관심사 분리 원칙 + mvc패턴 적용 router -> controller -> service -> model 순으로 간다. router : url을 기능과 연결해주는 부분 controller : 사용자의 요청을 받아 서비스로 전달하고 응답을 받아 프론트로 전달한다. 프론트와 백을 연결하는 어댑터역할 service : 컨트롤러에서 넘어온 데이터를 검증하는 비즈니스 로직을 작성하고 모델로 넘겨준다. model : DB와 연결해서 CRUD하기 위한 로직을 구현하고 컨트롤러에게 전달한다. 맡은 기능만 구현해야한다. 모델에서 요청을 처리하거나 컨트롤러에서 비즈니스 ..

bcrypt란? 사용자의 비밀번호를 데이터베이스에 그대로 저장하면 보안법에 어긋난다. 절대 안됨!! 그래서 입력된 데이터를 변형시켜 암호화하는 단방향 해시함수 중 하나다. salting(실제 데이터 이외에 무작위 데이터를 넣어서 해시값을 만드는 방법)과 키 스트레칭(해시된 값을 또 해시하고 반복하는 방법)으로 보안성을 강화했다. 단방향은 외부 해킹에 의한 데이터 노출뿐만 아니라 내부에서도 데이터 유출을 방지할 수 있기에 보안성이 더 뛰어나다. node에서 bcrypt 사용해서 암호화하기 먼저 bcrypt모듈을 설치한다. npm install bcrypt 그리고 bcrypt모듈을 사용할 파일에서 불러온다. 어디서 bcrypt를 사용해 비밀번호를 암호화 해야할까? controller에서는 req, res를 ..