내 프로잭트의 비밀번호 저장 기능은
유저가 입력한 비밀번호 그대로 DB에 저장 된다
이렇게 되면 비밀번호가 노출될 위험이 있다
비밀번호가 그대로 저장되지않고
비밀번호의 해시값을 저장 하고
로그인시 입력한 비밀번호도 해시함수를 거친뒤
DB에 저장된 비밀번호와 대조 후
해시값이 같다면 로그인이 승인되는 방식이
비밀번호 암호와의 방식이다
이전의 글 에서
https://pushvalue.tistory.com/41
로그인 할때 ID와PW 값을 입력하지 않아도 로그인 되는 현상
아직 css를 넣지 않았지만 제대로 작동하는 로그인폼이 있다 제대로 입력하지않는다면 에러페이지도 나온다 회원가입과 다르게 로그인은 user정보 대조후 맞고 안맞고가 확실하기때문에 입력 제
pushvalue.tistory.com
pw가 DB에 그냥 저장되는것은 알고 있었다
이번에 user 구현부를 살펴보다가 이번에 고쳐야겠다고 생각했다
구글에 mysql 해시 검색하다가 오라클 문서를 발견했다
https://docs.oracle.com/en-us/iaas/logging-analytics/doc/filter-logs-hash-mask.html
Using Logging Analytics
You can use md5 function in your queries or with where and eval commands to filter the log data that has the hash masked data.
docs.oracle.com
쿼리에서 md5함수를 사용할수있다고해서 그방법대로 했다
다행히 md5함수를 사용하는것은 어렵지않았다


해시를 회원가입 구현부에 적용하는것은 크게 어려움이 없었다
user_pw 를 md5로 감싸주면 해시값이 DB에 저장된다
해시를 로그인 구현부에 적용할때는 비밀번호의 해시값을 다시 받아오지 않았다
암호화를 하기 전에도 굳이 다시 비밀번호를 받아오는것은
비밀번호가 노출될수도 있지않았을까 생각했다
비밀번호가 필요한 절차에선 비밀번호를 또 입력하도록해서
해시값을 비교하는 방법을 쓰는것이 좋을것 같았다
'걸어서 개발 속으로' 카테고리의 다른 글
| Ajax로 비동기 처리 (0) | 2023.03.01 |
|---|---|
| API json parsing (0) | 2023.02.27 |
| ChatGPT에게 물어본 api 파라미터 처리 과정 (0) | 2023.02.10 |
| centos7 서비스 등록 위치 차이점 (0) | 2022.02.13 |
| CentOS ftp, sftp 서버 구축 (0) | 2021.09.21 |
댓글