카카오와 연동하는 모바일 어플을 만들게되면 대부분 키해시를 등록해야 하는 경우가 있다
디버그용과 릴리즈용 키해시를 발급하여 카카오 개발자 페이지에 등록해야한다.
디버그용은 어플 내에서 간단하게 처리가 가능하다
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. 화면에 나타나는 키해시를 복사하여 카카오 개발자 페이지에 입력한다