Domain/Android

[Android] Hash Key (카카오 Api / 네이버 Api / 구글 Api)

by Donghwan 2021. 8. 14.

2021-08-13 수정

Android에서 카카오, 네이버, 구글 Api를 연동할때, HashKey를 입력해 달라는 경우를 많이 볼 수 있습니다. 이런 경우 필요한 키의 종류는 Debug Key와 Release key가 있습니다.

Debug Key와 Release Key를 구분하는 것은 Build Variants가 Debug(개발용)이냐 Release(배포용)이냐라고 생각하시면 됩니다. Debug Key는 개발할 때만 사용하는 것으로 안드로이드 개발환경에 기본적으로 저장되어 있는 인증서 바이너리에 대한 해시값이고, Release Key는 실제 앱을 배포할 때 사용하는 인증서 바이너리에 대한 해시값입니다.

Hash Key를 구하는 방법은 두가지가 있습니다.
1. 터미널을 이용하여 구하는 방법(추천)
2. 코드를 이용하여 구하는 방법

 

@터미널을 이용( 추천 )

#환경변수 설정
Jdk와 OpenSSL 환경변수 설정

[OpenSSL 다운로드 홈페이지]
[OpenSSL 0.9.8.e_X64 다운]
[환경변수 설정하는 방법]

OpenSSL은 SSL v2/v3와 TLS v1 프로토콜을 지원하는 범용 암호법 라이브러리로 대부분 리눅스는 기본적으로 설치 되어 있습니다. 하지만 윈도우 사용자의 경우 다운로드 해야합니다. OpenSSL의 버전에 따라 생성되는 값이 다르기 때문에 반드시 반드시 openssl-0.9.8e_X64 다운받아야 합니다.

#Debug Key 구하기
터미널(Mac)/커맨드(Window)를 킨 다음 아래 명령어를 복사 붙여넣기하면 됩니다.

[Mac]
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64

[Window]
keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64

#혹시 비밀번호를 입력하라고 나오는 경우 무시하고 Enter#

[결과]


#Release Key 구하기
[KeyStore 생성]
Debug Key 구하는 과정에서 잘 보시면 debug.keystore가 있습니다. 이 부분을 타겟으로 Key를 구하게 됩니다. 하지만 Debug.Keystore는 자동으로 생성되지만 Release.Keystore는 직접 만들어 주어야 합니다.

[KeyStore 만들기]


이제 터미널(Mac)/커맨드(Window)를 킨 다음 아래 명령어를 복사 붙여넣기하면 됩니다.

#생성한 KeyStore의 비밀번호를 입력#

[Mac & Window]

keytool -exportcert -alias [생성한 KeyStore의 Alias] -keystore [생성한 KeyStore의 경로] | openssl sha1 -binary | openssl base64

[결과]


 

@코드로 구하기 ( 비추천 )

Releae 버전에서 Log를 보려면 App 수준의 Gradle의 Build Type release의 debuggable 속성을 true로 해줘야 합니다. 또, 코드상으로 Key를 찍기 때문에 보안상 비추천합니다.

[Code : Dev-DongHwan Gist]
728x90
반응형

댓글