[Spring] 비밀번호 암호화 SHA-256 / MD5
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(패스워드) 로 암호화가 가능하다.
출처 : https://1-7171771.tistory.com/82?category=885255
'Spring Framework > Spring security' 카테고리의 다른 글
OAuth란? (1) | 2023.04.25 |
---|---|
[SpringSecurity] URL 더블슬래시 허용 (0) | 2022.05.25 |
Spring Security 구현 정리 (0) | 2022.05.24 |
Spring Security OAuth2.0 파헤치기! - 3(authorization server + resource server + client) (0) | 2021.04.13 |
Spring Security OAuth2.0 파헤치기! - 2(Authorization Server + Resource Server) (0) | 2021.04.13 |
Spring Security OAuth2.0 파헤치기! - 1(Authorization Server) (1) | 2021.04.13 |
Spring boot - Spring Security(스프링 시큐리티) 란? 완전 해결! (0) | 2021.04.13 |
spring security 파헤치기 (구조, 인증과정, 설정, 핸들러 및 암호화 예제, @Secured, @AuthenticationPrincipal, taglib) (0) | 2021.03.23 |