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

Seed 알고리즘 어플을 작성하고 잇는데요..

0 추천

  안드로이드용은 라이브러리로 되어 있어 자바용으로 알고리즘을 가지고 암호화를 진행하고 있는데요

암호화 되는 과정이 제대로 되지 않는 것 같아요.. 

확인한 방법은 pc 서버를 만들어 전송되는 값을 보니 21 09 47 10 92 12 37 45 90 A F1 0 0 0 0 0  이런식으로

전송이 되네요.. 원래는 16자리가 모두 암호화가 되어야 하는데 되지 않아요.. 어디가 문제일까요?

알려주세요. 도와주세요 ㅜㅜ

코드가 길어 링크 걸어요.. 

http://tjddnjs1027.blog.me/220634244158

라즈베리파이 (340 포인트) 님이 2016년 2월 22일 질문

1개의 답변

0 추천
어떤 값들을 전송하였는지요? 출력값이 HEXA값인 것 같은데 16바이트 맞는 것 같은데요.

 0x21, 0x09 0x47 .... 이런식인것 같은데, 먼저 로컬로 암호화, 복호화가 되는지 테스트 해보세요.
안_드루이드 (14,510 포인트) 님이 2016년 2월 22일 답변
네, 맞아요 0x21, 0x09 ... 이런식으로 되다가 11번째 자리부터 0 0 0..
이렇게 0으로 출력되더군요.. ㅜㅜ
로컬로 암복호화 어떻게 하는지요? ㅜㅜ
자바용으로 돌렸을 때는 안_드루이드 님께서 말씀해주시대로 출력이 되는데요..
안드로이드에서 하면 잘 안되더군요
무슨 문제인지 전혀 감이 안잡혀요 ㅜㅜㅜㅜㅜㅜ
시드 알고리즘의 경우, 16바이트 단위로 암호화/ 복호화 하도록 되어있습니다.
즉 이말은 16바이트 미만일 경우, 임의의 바이트를 채워서 16바이트가 되도록 만들어야 된다는 이야기입니다.
 SEED 알고리즘에 대한 이해가 필요해 보이시네요.

 암호화/복호화는 테스트로 임의의 데이타를 암호화하고, 복화화해서 같은 값이 나오는지 확인해보라는 말씀입니다.
 
 SEED 알고리즘의 경우, 대칭키 형식이므로 PC서버와는 별도록 암복호화 테스트가 가능합니다.
윈도우 프로그래밍해서 실행해보고, 수정도 해보고 테스트도 해보았는데 잘되구요..
자바에서도 테스트 실행해보았는데 잘되었어요..
윈도우나 자바 암복호화 잘 이루어졌는데요
안드로이드로 하니까 안되더군요 ㅜㅜ 말씀해주신대로 바이트를 채우는 부분은 제가 잘못한 줄 알고 16바이트의 테스트 데이터로 실행해보았는데요 자꾸 11번째 자리부터 이상해지더라구요..
제가 자바를 잘 못해서 소스부분에서 잘못했는지 알고 싶어서요 ...
...