안녕하세요

안드로이드 개발을 얼마 전에 시작한 초보입니다.
앱 개발을 하다가 암호화가 필요해서 java.security 패키지의 MessageDigest 클래스를 사용하고 있습니다.
그런데 사용 도중에 이상한 현상이 발생해서 도저히 혼자서는 해결이 안되네요..

이런 함수를 작성했는데요
protected static byte[] encodeMD5(String token)
{
MessageDigest di = null;
try
{
di = MessageDigest.getInstance("MD5");
di.reset();
di.update(token.getBytes());
byte[] ret = di.digest(); 
return ret;
}
catch(Exception e)
{
GeneralError.ErrMsg(e.toString());
}
return null;
}

디버거로 찍어보면 중간에 byte[] ret = di.digest();  이 부분을 실행하면
익셉션도 발생하지 않았는데 바로 return null; 이 줄로 디버거가 가버립니다.
중간에 다른 에러처리를 넣어 봐도, 뭔 짓을 해봐도 그러네요;

웃긴 건..처음에 제가 다른 PC에서 개발을 해서..그 때는 멀쩡했거든요
그러다가 그 PC가 문제가 생겨서..새 PC에 새로 셋팅을 하고 나니 여기서 문제가 생겼습니다;
1.6에서 개발하고 있구요 에뮬레이터 위에서 돌리고 있습니다.

이해가 안되는 건, 익셉션이 발생한 것도 아니고..goto를 쓴 것도 아닌데 왜 갑자기 return null로 가버리냐는 겁니다;
C에서야 메모리 누수라던지 에러가 날 수도 있겠지만 이건 JAVA인데;; 도통 이해가 안되네요..ㅜㅜ

<meta charset="utf-8">