일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Ajax
- 풀스택
- MVC
- 서블릿
- html5
- 네비게이터
- c programming
- spring
- javascript
- 웹페이지
- 백엔드
- css3
- 제이쿼리
- 비밀번호찾기
- 웹서비스
- 회원가입
- 웹개발
- 오라클
- Linked List
- 미로 생성 알고리즘
- jsp
- 스프링
- jQuery
- 프론트엔드
- mybatis
- Binding
- dbms
- 로그인
- 마이바티스
- 프레임워크
- Today
- Total
목록비밀번호찾기 (2)
Programmer's Progress
앞서 언급했듯이, 비밀번호는 절대로 복호화 가능한 형태로 암호화해서는 안 된다. RSA든, AES든, DES든 어떠한 암호화 알고리즘을 사용하더라도 복호화가 가능하다면 이 비밀번호가 담긴 레코드를 탈취당했을 때 큰 문제가 발생할 것이다. 따라서 복호화가 불가능한, 단방향 해싱 알고리즘인 SHA512와 랜덤 한 값 SALT를 갖고 비밀번호를 암호화하였다. 그러나 복호화가 불가능하기 때문에 비밀번호 찾기를 구현하는 데 있어서 큰 문제가 있었다. 복호화가 불가능하기에, 기존의 비밀번호가 무엇인지 도저히 알 수가 없다는 것이다. 단순하게 JS의 alert( )를 이용해 기존 비밀번호를 출력하기에는 큰 문제가 있었다. 기존 비밀번호가 무엇인지 알지 못할 뿐만 아니라, 알고 있다고 하더라도 이 비밀번호를 DB에서 ..

기본적인 회원가입과 로그인을 구현했으니, 로그아웃과 아이디/비밀번호 찾기를 구현할 차례다. 기본적인 원리는 아래와 같이 설계되었다. 우선 스키마 다이어그램에서 빨간색 애트리뷰트는 기본키, 파란색 애트리뷰트는 외래 키를 의미한다. 그렇다면 노란색은 어떤 애트리뷰트를 의미하는 걸까? 바로 UNIQUE 한 값, 즉, 후보 키로써의 역할을 수행함을 의미한다. 상식적으로 회원가입을 진행할 때 같은 이메일, 전화번호로 회원가입이 가능한 경우는 거의 경험하지 못했을 것이다. 그도 그럴 것이, 하나의 이메일, 전화번호는 모두 한 명의 사람에게 속해있기 때문이다. 각 개인은 회원가입 시 입력한 전화번호와 이메일 주소를 아이디를 찾을 수 있게 된다. 그렇다면 비밀번호는 어떤 식으로 찾을 수 있게 할 것인가? 회원가입 시에..