본문 바로가기
웹개발/기타

[웹개발 - 회원가입] 비밀번호 암호화

by 오엥?은 2023. 2. 11.
반응형

 

 

public class CryptoUtils {

    public static String hasSha512(String input) {
        try {
            StringBuilder passwordSaltHashBuilder = new StringBuilder();
            MessageDigest md = MessageDigest.getInstance("SHA-512");
            md.update(input.getBytes(StandardCharsets.UTF_8));
            for (byte hashByte : md.digest()) {
                passwordSaltHashBuilder.append(String.format("%02x", hashByte));
                // 난수를 생성한 뒤, 10진수의 문자열로 변경
            }
            return passwordSaltHashBuilder.toString();
        } catch (NoSuchAlgorithmException ignored) {
            return null;
            // throws 시그니처를 사용하지 않고 NoSuchAlgorithmException 발생시 null 을 반환한다.
        }

    }
    private CryptoUtils() {
        //생성자를 만들어서 객체화를 못하게 함
    }
}

 

비밀번호는 그대로 디비에 저장했다간 누가 털면 끝장나기 때문에 암호화 과정을 거쳐서 넣어준다.

그 과정을 위한 CryptoUtils 클래스를 만들었다.

 

비번 1234 로 넣었는데 저렇게 들어간다.

반응형