전에 회원가입해서 값을 DB에 넣는걸 해보았는데요
이번에는 DB에 값을 넣을때 비밀번호값을 암호화해서 넣어보겠습니다
<!-- https://mvnrepository.com/artifact/at.favre.lib/bcrypt -->
<dependency>
<groupId>at.favre.lib</groupId>
<artifactId>bcrypt</artifactId>
<version>0.10.2</version>
</dependency>
먼저 암호화를 위해 https://mvnrepository.com 에서 BCrypt Password Hashing Function 라이브러리 최신버전을 pom.xml에 추가 & maven 업데이트 해줍니다
public int join(HashMap<String, String> params) {
String passwd = params.get("passwd");
String encPasswd = BCrypt.withDefaults().hashToString(12, passwd.toCharArray());
System.out.println("encPasswd >>>>>>>>> " + encPasswd);
BCrypt.Result result = BCrypt.verifyer().verify(passwd.toCharArray(), encPasswd);
System.out.println("result.verified >>>>>>> " + result.verified);
params.put("passwd", encPasswd);
return joinDao.join(params);
}
JoinService에 위 코드를 추가하면고 서버를 실행합니다
그리고 회원가입창에서 정보를 입력후 제출하면
콘솔에 보면 비밀번호를 1234로 입력했는데 $2....이라는 암호로 바뀌는걸 확인 가능하며
table에서도 암호화되 들어온것을 확인할 수 있습니다
- 수정 -
<script type="text/javascript">
window.onload = function(){
var result = '${result}';
var msg = '${msg}';
if(result != ''){
alert(msg);
window.location.href = '/03/loginPage.do';//성공하든 실패하든 무조건 리다이랙트되야됨
}
}
</script>
그리고 login.jsp에서 회원가입이 실패해도 loginPage.do로 가야하가이 코드를 수정해 주었습니다
loginPage.do로 리다이렉트 시켜줍니다
안그러면 주소줄이 submit url로 남아있어서 새로고침 할때 마다 회원가입이 됩니다
'공부 > 그룹 스터디' 카테고리의 다른 글
[4회차 02] 인증메일 구조 만들기 - 회원가입시 인증 메일 발송 (0) | 2024.04.24 |
---|---|
[4회차 01] 인증메일 구조 만들기 - 인증번호 만들어 DB에 넣기 (0) | 2024.04.23 |
[3회차 05] DB table에 값 넣기, 수동 bean 등록 (0) | 2024.04.18 |
[3회차 04] jsp값 Controller로 넘기기 (0) | 2024.04.17 |
[3회차 03] Spring JDBC 설정 (0) | 2024.04.17 |