본문 바로가기

study/Mobile

카카오 키해시 발급 적용하기

카카오와 연동하는 모바일 어플을 만들게되면 대부분 키해시를 등록해야 하는 경우가 있다
디버그용과 릴리즈용 키해시를 발급하여 카카오 개발자 페이지에 등록해야한다.

디버그용은 어플 내에서 간단하게 처리가 가능하다

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());
        }
    }


릴리즈용은 아래와 같이 하면된다.

1. https://code.google.com/archive/p/openssl-for-windows/downloads <- 에서 openssl을 다운로드
2. 압축을 풀고 bin 폴더안의 파일들을 복사한다
3. JDK의 bin 폴더(C:\Program Files\Java\jdk****\bin)로 붙여넣는다(openssl을 아무 경로에서나 실행가능하도록)
4. cmd 창을 연다
5. keytool -exportcert -alias key0 -keystore <*.jks파일 겨로> | openssl sha1 -binary | openssl base64 <-- 입력한다

위에 요걸 입력하면 패스워드를 치라고 나오는데 키스토어의 비밀번호를 입력한다. 

6. 화면에 나타나는 키해시를 복사하여 카카오 개발자 페이지에 입력한다