Procházet zdrojové kódy

회원 도메인 암복화 추가

jsshin před 5 roky
rodič
revize
d57b0f1b74

+ 104 - 48
src/main/java/com/style24/persistence/domain/Customer.java

@@ -1,6 +1,8 @@
 package com.style24.persistence.domain;
 
+
 import com.style24.core.support.session.TscSession;
+import com.style24.core.support.util.CryptoUtils;
 import com.style24.core.support.util.MaskingUtils;
 import com.style24.persistence.TscBaseDomain;
 import com.style24.persistence.TscPageRequest;
@@ -16,59 +18,102 @@ import lombok.Data;
 @Data
 public class Customer extends TscBaseDomain {
 
-	private Integer custNo;			// 고객번호
-	private String custId;			// 고객ID(탈퇴 시 "secede_cust"로 처리)
-	private String custNm;			// 고객명_암호화
-	private String passwd;			// 비밀번호_암호화
-	private String encodedPasswd;	// 암호화된 비밀번호
-	private String birthYmd;		// 생년월일(탈퇴 시 NULL로 처리)
-	private String birthSm;			// 양력/음력(S:양력,L:음력). 탈퇴 시 NULL로 처리
-	private String sexGb;			// 성별구분(공통코드G007). 탈퇴 시 NULL로 처리
-	private String cellPhnno;		// 휴대전화번호(탈퇴 시 NULL로 처리)
-	private String appAgreeYn;		// 앱푸쉬수신동의여부
-	private String appAgreeDt;		// 앱푸쉬수신동의일시
-	private String smsAgreeYn;		// SMS수신동의여부
-	private String smsAgreeDt;		// SMS수신동의일시
-	private String email;			// 이메일(탈퇴 시 NULL로 처리)
-	private String emailAgreeYn;	// 이메일수신동의여부
-	private String emailAgreeDt;	// 이메일수신동의일시
-	private String homeZipcode;		// 자택우편번호(탈퇴 시 NULL로 처리)
-	private String homeBaseAddr;	// 자택기본주소(탈퇴 시 NULL로 처리)
-	private String homeDtlAddr;		// 자택상세주소(탈퇴 시 NULL로 처리)
-	private String siteCd;			// 가입사이트코드(공통코드G000)
-	private String frontGb;			// 프론트구분(P:PC, M:모바일, A:앱)
-	private String afLinkCd;		// 제휴링크코드
-	private String custGb;			// 회원구분(공통코드G100)
-	private String custGrade;		// 회원등급(공통코드G110)
-	private String joinDt;			// 가입일시
-	private String foreignerYn;		// 외국인여부(외국인:Y)
-	private String custStat;		// 고객상태(공통코드G104)
-	private String passwdChgDt;		// 비밀번호변경일시
-	private String tempPasswdYn;	// 임시비밀번호여부
-	private String loginLdt;		// 최종로그인일시
-	private String nvJoinId;		// 네이버가입ID
-	private String nvAccessToken;	// 네이버접속토큰
-	private String nvJoinDt;		// 네이버가입일시
-	private String kkJoinId;		// 카카오가입ID
-	private String kkAccessToken;	// 카카오접속토큰
-	private String kkJoinDt;		// 카카오가입일시
-	private String ysJoinId;		// YES24가입ID
-	private String ysAccessToken;	// YES24접속토큰
-	private String ysJoinDt;		// YES24가입일시
-	private String ci;				// 인증CI
-	private String authDt;			// 인증일시
-	private String managedRsn;		// 관리대상지정사유(공통코드G120)
-	private String managedDtlRsn;	// 관리대상지정상세사유
-	private String managedDt;		// 관리대상지정일시
-	private String secedeRsn;		// 탈퇴사유(공통코드G111)
-	private String secedeDtlRsn;	// 탈퇴상세사유
-	private String secedeDt;		// 탈퇴일시
-	private String dormantDt;		// 휴면일시
+	private Integer custNo;				// 고객번호
+	private String custId;				// 고객ID(탈퇴 시 "secede_cust"로 처리)
+	private String custNm;				// 고객명_암호화
+	private String encodedCustNm;		// 암호화된 고객명
+	private String passwd;				// 비밀번호_암호화
+	private String encodedPasswd;		// 암호화된 비밀번호
+	private String birthYmd;			// 생년월일(탈퇴 시 NULL로 처리)
+	private String encodedBirthYmd; 	// 암호화된 생년월일
+	private String birthSm;				// 양력/음력(S:양력,L:음력). 탈퇴 시 NULL로 처리
+	private String sexGb;				// 성별구분(공통코드G007). 탈퇴 시 NULL로 처리
+	private String encodedSexGb;		// 암호화된 성별구분
+	private String cellPhnno;			// 휴대전화번호(탈퇴 시 NULL로 처리)
+	private String encodedCellPhnno;	// 암호화된 휴대전화번호
+	private String appAgreeYn;			// 앱푸쉬수신동의여부
+	private String appAgreeDt;			// 앱푸쉬수신동의일시
+	private String smsAgreeYn;			// SMS수신동의여부
+	private String smsAgreeDt;			// SMS수신동의일시
+	private String email;				// 이메일(탈퇴 시 NULL로 처리)
+	private String encodedEmail;		// 암호화된 이메일
+	private String emailAgreeYn;		// 이메일수신동의여부
+	private String emailAgreeDt;		// 이메일수신동의일시
+	private String homeZipcode;			// 자택우편번호(탈퇴 시 NULL로 처리)
+	private String homeBaseAddr;		// 자택기본주소(탈퇴 시 NULL로 처리)
+	private String encodedHomeBaseAddr; // 암호화된 자택기본주소
+	private String homeDtlAddr;			// 자택상세주소(탈퇴 시 NULL로 처리)
+	private String encodedHomeDtlAddr;	// 암호화된 자택상세주소(탈퇴 시 NULL로 처리)
+	private String siteCd;				// 가입사이트코드(공통코드G000)
+	private String frontGb;				// 프론트구분(P:PC, M:모바일, A:앱)
+	private String afLinkCd;			// 제휴링크코드
+	private String custGb;				// 회원구분(공통코드G100)
+	private String custGrade;			// 회원등급(공통코드G110)
+	private String joinDt;				// 가입일시
+	private String foreignerYn;			// 외국인여부(외국인:Y)
+	private String custStat;			// 고객상태(공통코드G104)
+	private String passwdChgDt;			// 비밀번호변경일시
+	private String tempPasswdYn;		// 임시비밀번호여부
+	private String loginLdt;			// 최종로그인일시
+	private String nvJoinId;			// 네이버가입ID
+	private String nvAccessToken;		// 네이버접속토큰
+	private String nvJoinDt;			// 네이버가입일시
+	private String kkJoinId;			// 카카오가입ID
+	private String kkAccessToken;		// 카카오접속토큰
+	private String kkJoinDt;			// 카카오가입일시
+	private String ysJoinId;			// YES24가입ID
+	private String ysAccessToken;		// YES24접속토큰
+	private String ysJoinDt;			// YES24가입일시
+	private String ci;					// 인증CI
+	private String authDt;				// 인증일시
+	private String managedRsn;			// 관리대상지정사유(공통코드G120)
+	private String managedDtlRsn;		// 관리대상지정상세사유
+	private String managedDt;			// 관리대상지정일시
+	private String secedeRsn;			// 탈퇴사유(공통코드G111)
+	private String secedeDtlRsn;		// 탈퇴상세사유
+	private String secedeDt;			// 탈퇴일시
+	private String dormantDt;			// 휴면일시
 
 	// LMS
 	private String content;			// 내용
 	private String certNo;			// 인증번호
 
+
+	public String getCustNm() {
+		custNm = CryptoUtils.decryptAES(custNm);
+		return custNm;
+	}
+
+	public String getSexGb() {
+		sexGb = CryptoUtils.decryptAES(sexGb);
+		return sexGb;
+	}
+
+	public String getEmail() {
+		email = CryptoUtils.decryptAES(email);
+		return email;
+	}
+
+	public String getBirthYmd() {
+		birthYmd = CryptoUtils.decryptAES(birthYmd);
+		return birthYmd;
+	}
+
+	public String getCellPhnno() {
+		cellPhnno = CryptoUtils.decryptAES(cellPhnno);
+		return cellPhnno;
+	}
+
+	public String getHomeBaseAddr() {
+		homeBaseAddr = CryptoUtils.decryptAES(homeBaseAddr);
+		return homeBaseAddr;
+	}
+
+	public String getHomeDtlAddr() {
+		homeDtlAddr = CryptoUtils.decryptAES(homeDtlAddr);
+		return homeDtlAddr;
+	}
+
 	// Masking
 	public String getMaskingCustId() {
 		return TscSession.getAttribute("maskingYn").equals("Y") ? MaskingUtils.id(custId) : custId;
@@ -92,4 +137,15 @@ public class Customer extends TscBaseDomain {
 	private int pageSize = 50;
 	private int pageUnit = 10;
 
+	// 암호화 대상 데이터 암호화 처리
+	public void encryptData () {
+		encodedCustNm = CryptoUtils.encryptAES(custNm);
+		encodedSexGb = CryptoUtils.encryptAES(sexGb);
+		encodedEmail = CryptoUtils.encryptAES(email);
+		encodedCellPhnno = CryptoUtils.encryptAES(cellPhnno);
+		encodedBirthYmd = CryptoUtils.encryptAES(birthYmd);
+		encodedHomeBaseAddr  = CryptoUtils.encryptAES(homeBaseAddr);
+		encodedHomeDtlAddr = CryptoUtils.encryptAES(homeDtlAddr);
+	}
+
 }