일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OOAD
- mysql
- DATABASE
- algorithm
- python
- React
- postman
- Android
- AWS
- Kotlin
- ubuntu
- TypeScript
- css
- S3
- HTML
- MongoDB
- docker
- mongoose
- macos
- Express
- node.js
- wireshark
- typeorm
- Network
- linux
- sequelize
- Crawling
- Util
- Scheduling
- OS
- Today
- Total
목록
반응형
BCrypt (2)
Seongwon Lim
암호화를 해야하는 이유? 데이터베이스에 비밀번호 정보가 그대로 들어가게 되면 심각한 보안 문제가 발생할 수 있다. 다른 사용자는 물론이고 관리자 또한 사용자들의 비밀번호 정보를 알 수 없게 해야 한다. What is Bcrypt? 위키에 따르면 bcypt는 블로피시 암호에 기반을 둔 암호화 해시 함수이다. 솔트를 통합한 bcrypt는 적응형 함수의 하나이며 시간이 지남에 따라 속도 저하를 위해 반복 횟수가 증가가 수반될 수 있으므로 연산 파워의 증가에도 브루트 포스 검색 공격에 대한 저항을 유지할 수 있도록 설계된 암호화 기술이다. 기존에 사용하던 SHA512, SHA256 해싱 함수와는 다르게 Salt 라는 개념을 도입하여 해싱을 하기 때문에 더 강력한 암호화를 할 수 있다고 평가받고 있다. What ..
서론 이번 글에서는 타입스크립트 환경에서 비밀번호 암호화를 하는 방법을 다뤄보고자 한다. 그리고 로그인을 할 때 사용자가 입력한 비밀번호와 DB에 저장된 암호화된 비밀번호가 일치하는지 알아보는 방법을 다룬다. 자바스크립트 기반으로 Bcrypt를 다루는 법은 여기를 참고하면 좋을 것 같다. 모듈 설치하기 npm install @types/bcrypt --save 자바스크립트와 다르게 타입스크립트는 @types/bcrypt를 설치해주어야 한다. 사용 방법 설치한 모듈을 사용하려면 import bcrypt from "bcrypt"; 를 상단에 선언한다. 이제 회원가입의 경우를 예시로 들어 사용법을 살펴보기로 한다. 입력받은 비밀번호를 암호화 할 때에는 genSalt(), hash() 메서드를 이용한다. 예를 ..