카카오 api를 사용하려고 kakaoDevelopers 에서 개발가이드를 보며
따라하고 있는데 앱 생성/등록을 하여야 되서 하고있던 중에
키해시를 등록해야만 가능하다 해서 가이드에 있는
keytool을 이용한 방법, openssl을 이용한 방법 등을 해보았는데
나는 둘다 할 수 없었다.
(cmd에서 keytool을 써서 해보니 키가 제대로 나오지 않고 깨어진?글자들이 나왔고
openssl을 쓰니 base64 부분에서 에러가나면서 openssl이 종료되었다.)
그래서 다른 방법을 알아보던 중
메소드를 이용해 로그를 찍어 해시 키를 구하는 방법이 있는 것을 알았다.
///////////////////////////////////
private void getAppKeyHash() {
try {
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String something = new String(Base64.encode(md.digest(), 0));
Log.d("Hash key", something);
}
} catch (Exception e) {
// TODO Auto-generated catch block
Log.e("name not found", e.toString());
}
}
//////////////////////////////////
이렇게 하고 getAppKeyHash(); 을 실행하면
로그부분에 D/Hash key: !#()%*&!#(%*&)!%)!= 이런식으로 찍히는 것을 확인 할 수 있다.
toByteArray에서 에러가 생긴다면 import를 잘못한 것이다. (Signature 부분 import를 확인해보기 바랍니다)
(android.content.pm.Signature; 이거로 임포트 되어야 함)
'공부 > Android' 카테고리의 다른 글
(Android) 간단한 데이터 저장 [SharedPreferences] (0) | 2016.03.13 |
---|---|
(에러) Default Activity not found (1) | 2016.03.08 |
(Android) WebView 사용법 (0) | 2016.03.06 |
(Android) WebView 뒤로가기 처리 (0) | 2016.02.21 |
(Android) 웹페이지 띄우기 WebView (0) | 2016.02.21 |