일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- TypeScript
- MongoDB
- DART
- API
- 리액트
- form
- GRID
- Mongoose
- graphQL
- nodejs
- react
- frontend
- HTML
- javscript
- heroku
- ES6
- Flutter
- JavaScript
- NextJs
- pug
- 자바스크립트
- Component
- clonecoding
- CLONE
- ECMAScript
- express
- backend
- CSS
- Session
- node.js
- Today
- Total
목록Salt (2)
Enjoy Programming

기존 클론코딩시 password의 암호화시 hash와 salt기능을 passport-local-mongoose를 사용했다. 이번에는 블로피시 암호에 기반을둔 암호해시 함수인 bycript를 사용해 진행을 해보았는데. bycript에 대해 잠시 짚고 넘어가본다. bcrypt는 비밀번호 해시 함수로서 Blowfish라는 암호에 기반한다. bcrypt는 조정할 수 있는 해시 알고리즘을 써서 패스워드를 저장한다. bcrypt는 패스워드를 해싱할 때 내부적으로 랜덤한 salt를 생성하기 때문에 같은 문자열에 대해서 다른 인코드된 결과를 반환한다. but 공통된 점은 매번 길이가 60인 string을 만든다. bcrypt는 단반향 암호화를 위해 만들어진 해시 함수이다. sha256같은 기존 해시 함수들의 문제는 ..

이제 비밀번호 변경을 다룰건데 전에 사용했던 passport-local-mongoose를 이용한다 잠시 passport-local-mongoose를 다시 되짚어보면 passport-local-mongoose 는 username과 password를 사용한 login을 passport와 함께 간단히 빌드할 수 있는 플러그인 이다. node.js 에 나온 다큐먼트를 인용해보자 그냥 passport-local-mongoose를 이용하면 암호 모듈을 사용하여 암호를 해시할 필요없이 이 모듈이 다 알아서 해준다고 한다. DB에서 salt및 hash필드를 자동으로 생성한다. hash에 대한 개념은 살짝 잡혀있는데 salt가 무엇인가... 예를 들어 데이터베이스에 두명의 사용자가 동일한 암홀르 가진 경우 동일한 해시가..