JAVA

데이터 암호화(SHA256)

전주천둥새 2023. 5. 16. 13:28

암호화가 필요한 패스워드 같은 데이터를 저장할때 암호화를 진행한다.

  1. SHA256 class 파일 생성
package com.common;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class SHA256 {

    public String encrypt(String text) throws NoSuchAlgorithmException {
        MessageDigest md = MessageDigest.getInstance("SHA-256");
        md.update(text.getBytes());

        return bytesToHex(md.digest());
    }

    private String bytesToHex(byte[] bytes) {
        StringBuilder builder = new StringBuilder();
        for (byte b : bytes) {
            builder.append(String.format("%02x", b));
        }
        return builder.toString();
    }

}

2. 백엔드 Service(ServiceImpl)에서 데이터 insert 시 코드 추가

▼ 기존 코드

// 사용자 등록 처리
	@Override
	public int userReg(UserVO user) {
		return cmnMapper.userReg(user);
	}

▼ 변경 코드

// 사용자 등록 처리
	@Override
	public int userReg(UserVO user) throws NoSuchAlgorithmException {
		SHA256 sha256 = new SHA256();
		user.setUserPw(sha256.encrypt(user.getUserPw()));
		return cmnMapper.userReg(user);
	}

3. 결과 확인