페이스북 로그인(Facebook Login), 공유 기능 등 페이스북 SDK를 안드로이드 앱에 연동하려면 반드시 키 해시(Key Hash)를 생성한 후 페이스북 개발자 콘솔에 등록해야 합니다. 이 글에서는 개발용과 배포용 키 해시를 생성하는 방법을 운영체제별로 자세히 설명합니다.
개발용(Development) 키 해시 생성하기
앱을 개발하고 테스트하는 동안에는 디버그 키스토어(debug.keystore)를 기반으로 키 해시를 생성합니다.
Mac OS에서 생성하기
터미널(Terminal)을 열고 아래 명령어를 그대로 실행하면 됩니다.
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64Windows에서 생성하기
명령 프롬프트(CMD)를 열고 아래 명령어를 실행합니다. 이때 USERNAME 부분은 본인의 Windows 사용자 계정 이름으로, PATH_TO_OPENSSL_LIBRARY는 OpenSSL이 설치된 실제 경로로 변경해야 합니다.
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\USERNAME\.android\debug.keystore" | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" sha1 -binary | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" base64배포용(Release) 키 해시 생성하기
앱을 구글 플레이 스토어에 출시할 때 서명에 사용한 릴리즈 키스토어를 기반으로 키 해시를 생성해야 합니다. YOUR_RELEASE_KEY_ALIAS에는 릴리즈 키의 별칭(alias)을, YOUR_RELEASE_KEY_PATH에는 키스토어 파일 경로를 입력하세요.
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
실행 전 확인 사항
- JDK 필수: keytool은 JDK에 포함되어 있으므로, JDK가 설치되어 있고 환경 변수(PATH)에 등록되어 있어야 합니다.
- OpenSSL 필요(Windows): Mac OS에는 OpenSSL이 기본 포함되어 있지만, Windows에서는 OpenSSL 라이브러리를 별도로 다운로드해야 합니다.
- 키 해시 등록: 생성된 키 해시 값은 페이스북 개발자 사이트 → 해당 앱 설정 → Android 섹션의 'Key Hashes' 항목에 입력하면 됩니다.
키 해시가 올바르게 등록되지 않으면 페이스북 로그인 시 인증 오류가 발생할 수 있으므로, 개발용과 배포용 해시를 모두 등록해 두는 것이 좋습니다.