티스토리 뷰

- CryptoUtils


public class CryptoUtils {
    public static void main(String[] args) {
        System.out.println(hashSha512("test1234"));
        System.out.println(hashSha512("test124"));

    }
    
    public static String hashSha512(String input) {
        try {
            StringBuilder authTestBuilder = new StringBuilder();
            MessageDigest te = MessageDigest.getInstance("SHA-512");
            te.update(input.getBytes(StandardCharsets.UTF_8));
            for (byte hashByte : te.digest()) {
                authTestBuilder.append(String.format("%02x", hashByte));
            }
            return authTestBuilder.toString();
        } catch (NoSuchAlgorithmException ignored) {
            return null;
        }
    }
    
    private CryptoUtils() {
    
}
    // 1. hashSha512 메서드 로직 완성하기
    // - input으로 "test1234"들어오면
//"42128a86a70f94b3cbdb1b1d350f543f549f3cdb221398345847979d51e0c68b7948da6e97e9194ec0589dd48e82b2db0e15cce3748e196eea6371e3e147b616" 반환되게
    // - 이 메서드는 throws 시그니처를 사용하지 않음. 고로 NoSuchAlgorithmException 발생 시 null 반환 하도록 조치.
    // 2. CryptoUtils 클래스 객체화 못하게 막기
}

- MemberService 추가 

user.setPassword(CryptoUtils.hashSha512(user.getPassword()));

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함