강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

re q님의 프로필 이미지
re q

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

[RENEWAL] 논리 연산

xor 질문

작성

·

298

0

int id = 123; //해킹 당하면 안되는 값

int key = 401; // 그래서 암호화 한 값

int a = id ^ key; // 암호화 하여 뒤바뀐 401의 값이 네트워크에 흘러가야 하는거 아닌가요?

int b = a ^ key; // int b 는 원래 값이란건가요?

 

왜 490이 나오는지도 모르겠고..

^xor이 그냥 뒤바뀌는거면

int a = id ^ key; 에서

id는 401 key는 123이 되야 하지 않나요..?!!

 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

int id = 123; //해킹 당하면 안되는 값

int key = 401; // << 암호화를 하기 위한 키 값입니다

int a = id ^ key; // 해킹 당하면 안 되는 값을 다른 값으로 바꿔치기 하는 것입니다.
즉, 네트워크에는 id가 아닌 a를 보내겠죠.

int b = a ^ key; // b는 다시 id가 튀어나오게 됩니다.
(XOR의 특성상, 동일한 숫자에 두 번 같은 값을 XOR하면 원본이 튀어나오기 때문)

re q님의 프로필 이미지
re q

작성한 질문수

질문하기