1. 회원가입
- 회원가입시 입력한 비밀번호를 암호화해서 저장하도록 처리한다.
@Override
public void insertUser(MaisonUserVO vo) {
try {
SHA256 sha = SHA256.getInsatnce();
String shaPass;
shaPass = sha.getSha256(vo.getPwd().getBytes());
String bcPass = BCrypt.hashpw(shaPass, BCrypt.gensalt());
vo.setP_sha256(shaPass);
vo.setP_bcrypt(bcPass);
} catch (Exception e) {
e.printStackTrace();
}
mybatis.insert("maisonMapper.userInsert", vo);
}
2. 회원로그인 - 세션저장까지
- 암호화된 비밀번호를 비교하고 비밀번호가 일치할 경우 세션에 저장한다.
@Override
public String login_ok(MaisonUserVO vo) {
String log = "";
try {
SHA256 sha = SHA256.getInsatnce();
String orgPass = vo.getPwd();
String shaPass = sha.getSha256(orgPass.getBytes());
MaisonUserVO temp = mybatis.selectOne("maisonMapper.login", vo);
if(temp.getP_bcrypt()!= null ) {
if(BCrypt.checkpw(shaPass,temp.getP_bcrypt())) {
log = "ssuccess";
System.out.println("성공");
} else {
log = "fail";
System.out.println("암호 실패");
}
}
} catch (Exception e) {
log = "fail";
System.out.println("실패");
}
return log;
}
3. 회원정보수정
- 비밀번호를 수정하고 암호화까지 완료한다.
@Override
public void user_update(MaisonUserVO vo) {
try {
SHA256 sha = SHA256.getInsatnce();
String shaPass = sha.getSha256(vo.getPwd().getBytes());
String bcPass = BCrypt.hashpw(shaPass, BCrypt.gensalt());
vo.setP_sha256(shaPass);
vo.setP_bcrypt(bcPass);
} catch (Exception e) {
e.printStackTrace();
}
mybatis.update("maisonMapper.user_edit", vo);
}