import java.security.MessageDigest;
public class EncryptionUtils {
public static String encryptSHA256(String s) {
return encrypt(s, "SHA-256");
}
public static String encryptMD5(String s) {
return encrypt(s, "MD5");
}
public static String encrypt(String s, String messageDigest) {
try {
MessageDigest md = MessageDigest.getInstance(messageDigest);
byte[] passBytes = s.getBytes();
md.reset();
byte[] digested = md.digest(passBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < digested.length; i++) sb.append(Integer.toString((digested[i]&0xff) + 0x100, 16).substring(1));
return sb.toString();
} catch (Exception e) {
return s;
}
}
}
회원가입을 구현할때 SHA-256 알고리즘이나 MD5 알고리즘을 지정할 수 있다. 회원의 password를 암호화 해준다.
SHA-256 알고리즘이 MD5 알고리즘보다 좀 더 강력하다.
UserService
public UserDetailDto create(UserCreateDto user){ //회원가입 : 회원정보를 DB에 저장
User entity =mapper.map(user, User.class);
entity.setUserPassword(EncryptionUtils.encryptMD5(user.getUserPassword()));
entity.setStatus(true);
entity = userRepository.save(entity);
return mapper.map(entity , UserDetailDto.class);
}
EncryptionUtils.encryptMD5(패스워드) 로 암호화가 가능하다.
'Spring & JPA' 카테고리의 다른 글
[Spring Boot] 문자인증 구현 coolSMS (5) | 2020.05.13 |
---|---|
[Spring Boot + JPA] 결제시스템 구현하기 + 포인트 충전 (아임포트) (6) | 2020.05.07 |
컨트롤러 클래스 없이 특정 view대한 컨트롤러 추가 addViewControllers (0) | 2020.05.05 |
[Spring Boot+JPA] 회원가입 구현시 아이디 중복체크, 유효성 검사 처리하기 (0) | 2020.04.20 |
[CASCADE] 영속성 전이 , orphanRemoval = true (0) | 2020.04.01 |