Skip to content

Commit 898f651

Browse files
committed
fix: 암호화 복호화 오류 수정
1 parent 554d3dd commit 898f651

File tree

12 files changed

+76
-41
lines changed

12 files changed

+76
-41
lines changed

src/main/java/com/example/rightbackend/auth/domain/Member.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ public LoginMember getLoginMember() {
5959

6060
public MemberPageResponse getMemberPageResopnse() {
6161
EncodeMemberPage encodeMemberPage = memberProfile.getMemberPage();
62+
String nickname = encodeMemberPage.nickname() != null ?
63+
TextEncoder.decrypt(encodeMemberPage.nickname()) : "";
6264
String locationName = encodeMemberPage.locationName() != null ?
6365
TextEncoder.decrypt(encodeMemberPage.locationName()) : "";
6466
String height = encodeMemberPage.height() != null ?
@@ -71,7 +73,7 @@ public MemberPageResponse getMemberPageResopnse() {
7173
TextEncoder.decrypt(encodeMemberPage.myself()) : "";
7274

7375
return new MemberPageResponse(name,
74-
encodeMemberPage.nickname(),
76+
nickname,
7577
locationName,
7678
height,
7779
bodyType,

src/main/java/com/example/rightbackend/matching/business/controller/dto/response/MatchedResponse.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@ public static MemberProfileDto from(MemberProfile memberProfile) {
7373

7474
return new MemberProfileDto(
7575
memberProfile.getId(),
76-
memberProfile.getNickname(),
77-
memberProfile.getGender(),
76+
memberProfile.getDecryptedNickname(),
77+
memberProfile.getDecryptedGender(),
7878
memberProfile.getAge(),
7979
location,
80-
memberProfile.getHeight(),
81-
memberProfile.getBody_type(),
82-
memberProfile.getJob(),
80+
memberProfile.getDecryptedHeight(),
81+
memberProfile.getDecryptedBodyType(),
82+
memberProfile.getDecryptedJob(),
8383
images
8484
);
8585
}
@@ -92,13 +92,13 @@ public static MemberProfileDto from(MemberProfile memberProfile, ImageService im
9292

9393
return new MemberProfileDto(
9494
memberProfile.getId(),
95-
memberProfile.getNickname(),
96-
memberProfile.getGender(),
95+
memberProfile.getDecryptedNickname(),
96+
memberProfile.getDecryptedGender(),
9797
memberProfile.getAge(),
9898
location,
99-
memberProfile.getHeight(),
100-
memberProfile.getBody_type(),
101-
memberProfile.getJob(),
99+
memberProfile.getDecryptedHeight(),
100+
memberProfile.getDecryptedBodyType(),
101+
memberProfile.getDecryptedJob(),
102102
images
103103
);
104104
}

src/main/java/com/example/rightbackend/matching/business/controller/dto/response/MatchingResultResponse.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,13 @@ public static MemberProfileDto from(MemberProfile memberProfile) {
8888

8989
return new MemberProfileDto(
9090
memberProfile.getId(),
91-
memberProfile.getNickname(),
92-
memberProfile.getGender(),
91+
memberProfile.getDecryptedNickname(),
92+
memberProfile.getDecryptedGender(),
9393
memberProfile.getAge(),
9494
location,
95-
memberProfile.getHeight(),
96-
memberProfile.getBody_type(),
97-
memberProfile.getJob(),
95+
memberProfile.getDecryptedHeight(),
96+
memberProfile.getDecryptedBodyType(),
97+
memberProfile.getDecryptedJob(),
9898
images
9999
);
100100
}
@@ -107,13 +107,13 @@ public static MemberProfileDto from(MemberProfile memberProfile, ImageService im
107107

108108
return new MemberProfileDto(
109109
memberProfile.getId(),
110-
memberProfile.getNickname(),
111-
memberProfile.getGender(),
110+
memberProfile.getDecryptedNickname(),
111+
memberProfile.getDecryptedGender(),
112112
memberProfile.getAge(),
113113
location,
114-
memberProfile.getHeight(),
115-
memberProfile.getBody_type(),
116-
memberProfile.getJob(),
114+
memberProfile.getDecryptedHeight(),
115+
memberProfile.getDecryptedBodyType(),
116+
memberProfile.getDecryptedJob(),
117117
images
118118
);
119119
}

src/main/java/com/example/rightbackend/matching/business/type/FreeMatchingType.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ public List<MemberProfile> executeMatching(MemberProfile memberProfile) {
3030
return Collections.emptyList();
3131
}
3232

33-
String oppositeGender = "MALE".equals(memberProfile.getGender()) ? "FEMALE" : "MALE";
33+
String oppositeGender = "MALE".equals(memberProfile.getDecryptedGender()) ? "FEMALE" : "MALE";
3434

3535
Integer minAge = filter.getMinAge();
3636
Integer maxAge = filter.getMaxAge();
3737

3838
String regionPartition = filter.getRegionPartition();
3939

4040
log.debug("매칭 실행 - 회원 ID: {}, 성별: {}, 이성: {}, 나이 범위: {}-{}, 지역: {}",
41-
memberProfile.getId(), memberProfile.getGender(), oppositeGender, minAge, maxAge, regionPartition);
41+
memberProfile.getId(), memberProfile.getDecryptedGender(), oppositeGender, minAge, maxAge, regionPartition);
4242

4343
List<MatchingFilter> potentialMatchFilters;
4444

src/main/java/com/example/rightbackend/matching/business/type/PremiumMatchingType.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ public List<MemberProfile> executeMatching(MemberProfile memberProfile) {
3636
log.warn("유료 매칭을 요청했지만 이상형 얼굴 특징이 설정되지 않았습니다. 회원 ID: {}", memberProfile.getId());
3737
}
3838

39-
String oppositeGender = "MALE".equals(memberProfile.getGender()) ? "FEMALE" : "MALE";
39+
String oppositeGender = "MALE".equals(memberProfile.getDecryptedGender()) ? "FEMALE" : "MALE";
4040

4141
Integer minAge = filter.getMinAge();
4242
Integer maxAge = filter.getMaxAge();
4343

4444
String regionPartition = filter.getRegionPartition();
4545

4646
log.debug("유료 매칭 실행 - 회원 ID: {}, 성별: {}, 이성: {}, 나이 범위: {}-{}, 지역: {}",
47-
memberProfile.getId(), memberProfile.getGender(), oppositeGender, minAge, maxAge, regionPartition);
47+
memberProfile.getId(), memberProfile.getDecryptedGender(), oppositeGender, minAge, maxAge, regionPartition);
4848

4949
List<MatchingFilter> potentialMatchFilters;
5050

src/main/java/com/example/rightbackend/matching/filter/domain/MatchingFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ protected MatchingFilter() {}
5151
public static MatchingFilter of(MemberProfile memberProfile) {
5252
MatchingFilter filter = new MatchingFilter();
5353
filter.memberProfile = memberProfile;
54-
filter.genderPartition = memberProfile.getGender();
54+
filter.genderPartition = memberProfile.getDecryptedGender();
5555
return filter;
5656
}
5757

src/main/java/com/example/rightbackend/member/domain/MemberProfile.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.example.rightbackend.member.controller.dto.EncodeMemberPage;
55
import com.example.rightbackend.member.controller.dto.EncodeMemberProfile;
66
import com.example.rightbackend.member.controller.dto.response.MemberPageResponse;
7+
import com.example.rightbackend.member.service.TextEncoder;
78
import com.example.rightbackend.rekognition.domain.FaceFeature;
89
import com.example.rightbackend.rekognition.domain.MyFaceFeature;
910
import com.example.rightbackend.global.exception.RestApiException;
@@ -142,14 +143,44 @@ public Integer getAge() {
142143
}
143144

144145
try {
145-
int birthYear = Integer.parseInt(birthday.substring(0, 4));
146+
String decryptedBirthday = TextEncoder.decrypt(birthday);
147+
int birthYear = Integer.parseInt(decryptedBirthday.substring(0, 4));
146148
int currentYear = java.time.LocalDate.now().getYear();
147149
return currentYear - birthYear + 1;
148150
} catch (Exception e) {
149151
return null;
150152
}
151153
}
152154

155+
// 복호화된 값을 반환하는 메서드들
156+
public String getDecryptedNickname() {
157+
return nickname != null ? TextEncoder.decrypt(nickname) : "";
158+
}
159+
160+
public String getDecryptedGender() {
161+
return gender != null ? TextEncoder.decrypt(gender) : "";
162+
}
163+
164+
public String getDecryptedBirthday() {
165+
return birthday != null ? TextEncoder.decrypt(birthday) : "";
166+
}
167+
168+
public String getDecryptedHeight() {
169+
return height != null ? TextEncoder.decrypt(height) : "";
170+
}
171+
172+
public String getDecryptedBodyType() {
173+
return body_type != null ? TextEncoder.decrypt(body_type) : "";
174+
}
175+
176+
public String getDecryptedJob() {
177+
return job != null ? TextEncoder.decrypt(job) : "";
178+
}
179+
180+
public String getDecryptedMyself() {
181+
return myself != null ? TextEncoder.decrypt(myself) : "";
182+
}
183+
153184
public String getLocationPartition() {
154185
if (memberProfileToLocations == null || memberProfileToLocations.isEmpty()) {
155186
return null;

src/main/java/com/example/rightbackend/member/service/MemberProfileService.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ private EncodeMemberProfile encodeForMemberProfile(final SignUpRequest request)
107107
TextEncoder.encrypt(request.body_type()),
108108
TextEncoder.encrypt(request.job()),
109109
request.interests(),
110-
request.myself(),
110+
TextEncoder.encrypt(request.myself()),
111111
TextEncoder.encrypt(request.gender()));
112112
}
113113

@@ -128,15 +128,17 @@ public MemberPageResponse getMemberPage(final LoginMember loginMember) {
128128

129129
@Transactional
130130
public String searchId(final SearchIdRequest searchIdRequest) {
131-
Member member = memberRepository.findFirstByNameAndPhoneNumber(searchIdRequest.name(), searchIdRequest.phoneNumber()).orElseThrow(()
131+
String encryptedPhoneNumber = TextEncoder.encrypt(searchIdRequest.phoneNumber());
132+
Member member = memberRepository.findFirstByNameAndPhoneNumber(searchIdRequest.name(), encryptedPhoneNumber).orElseThrow(()
132133
-> new RestApiException(MemberError.NULL_MEMBER));
133134
return member.getProviderId();
134135
}
135136

136137
@Transactional
137138
public String resetPassword(final ResetPasswordRequest resetPasswordRequest) {
138139
validateResetPasswordRequest(resetPasswordRequest);
139-
Member member = memberRepository.findFirstByNameAndPhoneNumber(resetPasswordRequest.name(), resetPasswordRequest.phoneNumber()).orElseThrow(()
140+
String encryptedPhoneNumber = TextEncoder.encrypt(resetPasswordRequest.phoneNumber());
141+
Member member = memberRepository.findFirstByNameAndPhoneNumber(resetPasswordRequest.name(), encryptedPhoneNumber).orElseThrow(()
140142
-> new RestApiException(MemberError.NULL_MEMBER));
141143
member.setPassword(passwordEncoder.encrypt(resetPasswordRequest.newPassword()));
142144
return MemberResponse.PASSWORD_CHANGE_SUCCESS.getMessage();
@@ -173,7 +175,7 @@ public String updateProfile(final LoginMember loginMember, final UpdateProfileRe
173175
if (request.height() != null) memberProfile.setHeight(TextEncoder.encrypt(request.height()));
174176
if (request.body_type() != null) memberProfile.setBody_type(TextEncoder.encrypt(request.body_type()));
175177
if (request.job() != null) memberProfile.setJob(TextEncoder.encrypt(request.job()));
176-
if (request.myself() != null) memberProfile.setMyself(request.myself());
178+
if (request.myself() != null) memberProfile.setMyself(TextEncoder.encrypt(request.myself()));
177179

178180
if (request.interests() != null) {
179181
memberProfile.getMemberProfileToInterests().clear();

src/main/java/com/example/rightbackend/noti/service/FcmSender.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public FcmSender(MemberRepository memberRepository,
3636
@Async
3737
public void sendLikeNotification(MatchingResult matchingResult) {
3838
Member targetMember = matchingResult.getTargetMemberProfile().getMember();
39-
String sourceNickname = matchingResult.getSourceMemberProfile().getNickname();
39+
String sourceNickname = matchingResult.getSourceMemberProfile().getDecryptedNickname();
4040

4141
if(!isAcceptedFCM(targetMember)) return;
4242

@@ -58,7 +58,7 @@ public void sendLikeNotification(MatchingResult matchingResult) {
5858
@Async
5959
public void sendMatchNotification(Matched matched) {
6060
Member member1 = matched.getMemberProfile1().getMember();
61-
String nickname2 = matched.getMemberProfile2().getNickname();
61+
String nickname2 = matched.getMemberProfile2().getDecryptedNickname();
6262

6363
if(isAcceptedFCM(member1)) {
6464
Notification notification1 = Notification.builder()
@@ -77,7 +77,7 @@ public void sendMatchNotification(Matched matched) {
7777
}
7878

7979
Member member2 = matched.getMemberProfile2().getMember();
80-
String nickname1 = matched.getMemberProfile1().getNickname();
80+
String nickname1 = matched.getMemberProfile1().getDecryptedNickname();
8181

8282
if(isAcceptedFCM(member2)) {
8383
Notification notification2 = Notification.builder()

src/main/java/com/example/rightbackend/noti/service/NotificationService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public void saveNotification(NotificationRequest request) {
9696
@Transactional
9797
public void saveLikeNotification(MatchingResult matchingResult) {
9898
Member targetMember = matchingResult.getTargetMemberProfile().getMember();
99-
String sourceNickname = matchingResult.getSourceMemberProfile().getNickname();
99+
String sourceNickname = matchingResult.getSourceMemberProfile().getDecryptedNickname();
100100

101101
Notification notification = Notification.createLikeNotification(targetMember, matchingResult.getId(), sourceNickname);
102102
notificationRepository.save(notification);
@@ -105,12 +105,12 @@ public void saveLikeNotification(MatchingResult matchingResult) {
105105
@Transactional
106106
public void saveMatchNotification(Matched matched) {
107107
Member member1 = matched.getMemberProfile1().getMember();
108-
String nickname2 = matched.getMemberProfile2().getNickname();
108+
String nickname2 = matched.getMemberProfile2().getDecryptedNickname();
109109
Notification notification1 = Notification.createMatchNotification(member1, matched.getId(), nickname2);
110110
notificationRepository.save(notification1);
111111

112112
Member member2 = matched.getMemberProfile2().getMember();
113-
String nickname1 = matched.getMemberProfile1().getNickname();
113+
String nickname1 = matched.getMemberProfile1().getDecryptedNickname();
114114
Notification notification2 = Notification.createMatchNotification(member2, matched.getId(), nickname1);
115115
notificationRepository.save(notification2);
116116
}

0 commit comments

Comments
 (0)