키스토어에서 해시코드 추출하기

페이스북의 기능(SSO 등)을 사용할 경우 앱의 키스토어에서 아래와 같은 방법을 통해 해시코드를 만들어서 사용자의 페이지에 등록하도록 요청한다.

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

이 방법은 리눅스/맥을 기반으로 작성된 예제인데, 만약 윈도우에서 안된다면 아래와 같이 써보자.

keytool -export -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl enc -a -e

위와 같은 복잡한 해시코드 대신에 간단한것을 원한다면, 자바의 String 클래스의 hashcode()를 이용해도 된다. 이 함수는 32bit 해시코드를 반환하는 것으로 원래 자바 내부적으로 사용할 목적으로 추가된 메소드이다.

마지막으로, 다른 값을 이용해 만든 해시코드가 같을 수 있다는 사실을 잊고, 유니크 키를 대신한다던가 하는 실수를 하지 말자.  예로 “Z@S.ME”와 “Z@RN.E”의 String.hashcode() 값은  아래와 같다.

========================
"Z@S.ME".hashcode();
"Z@RN.E".hashcode();
========================
Z@S.ME = -1656719047
Z@RN.E = -1656719047

참조

  • http://stackoverflow.com/questions/12626253/keytool-gives-wrong-android-apk-hashcode
  • http://stackoverflow.com/questions/4388992/key-hash-for-android-facebook-app
  • http://stackoverflow.com/questions/6120657/how-to-generate-a-unique-hash-code-for-string-input-in-android
  • http://en.wikipedia.org/wiki/Java_hashCode()

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.