마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 통신 암호화 질문입니다.

0 추천
안녕하세요 선생님

안드로이드로 서버와 통신할때

 

서버에서 보내오는 데이터 암호화에 대한 질문입니다.

서버에서 개인정보를 text나 json형식으로 받아오면 개인정보보호 문제때문에 암호화를 해서 데이터를 보내야 한다고 들었습니다.

혹시 안드로이드 통신관련하여  암호화, 복호화 api가 있으면 알려주세요...

글 읽어주셔서 감사합니다. 선생님
익명사용자 님이 2016년 1월 21일 질문

1개의 답변

0 추천
BASE64 같은 걸로 암호화하여 보내고, 받는 쪽에서 복호화하는 방법이 있을 거구요.

아니면 그냥 http가 아니라 https를 쓰는 방법이 있겠네요.
cc1232 (35,280 포인트) 님이 2016년 1월 21일 답변 1 신고
헐.... base64는 암호화가 아닙니다.  댓글대로 base64만 해서 보내시면 안됩니다.  base64는 key나 IV 값이 없이 단순히 헥사값을 문자열로 변경하는 규칙입니다.

예를 들어 설명하면 base64는 한글을 영어로 번역해서 적은 수준입니다.
영어를 모른 사람이야 무슨말인지 모르니 암호화 했다고 말이 되지만
영어를 아는 사람에겐  알 수 있는 메세지가 되거든요...
모르게하려면 영어 단어를 특정 규칙으로 뒤썩어 주어야 하며, 그 규칙으로 key와 iv를 이용한다고 이해하시면 됩니다.

아무튼
암호화 알고리즘은 대칭키 형식 (DES, AES, SEED 등) 을 주로 사용하며,
메세지 변조 체크 등에 일부 공개키 (RSA) 암호화 형식을 사용합니다.

https를 사용하면 공개키 형식으로 메세지 자체가 암호화 되서 들어가니, 서버가 https를 지원하면 https를 사용하시는게 편하실테구.
아니면 아래 링크를 참조하여  메세지를  암호화해서 보내세요..

http://stackoverflow.com/questions/6788018/android-encryption-decryption-with-aes
댓글 다신 분이 맞아요. 제가 잘못 적었네요. Base64랑 암호화랑 같이 씁니다(Base64를 먼저 하고 암호화를 했던가, 그 반대던가). 예전에 써봐서 기억이 확실치는 않네요. 그때 당시 자료 검색했을 때 대개 저런 식으로 사용했었습니다.
...