728x90
반응형
카카오 키 해시 값 찾기
방법 1
안드로이드 스튜디오의 terminal 을 열고 아래 코드를 입력하고 나온 값을 플랫폼의 키 해쉬란에 입력한다.
Mac
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
Windows
keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
terminal 에 입력했을 때 Openssl 깔려 있지 않는 경우에는 다음과 같은 오류 메시지가 발생한다.
openssl : 'openssl' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된
경우 경로가 올바른지 검증한 다음 다시 시도하십시오.
위치 줄:1 문자:130
+ ... \debug.keystore -storepass android -keypass android | openssl sha1 -b ...
+ ~~~~~~~
+ CategoryInfo : ObjectNotFound: (openssl:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
이 경우에는 openssl 다운 받아서 설정하여 다시 구하거나 다른 방법으로 해시 값을 얻어야 한다.
openssl 다운
https://code.google.com/archive/p/openssl-for-windows/downloads
Google Code Archive - Long-term storage for Google Code Project Hosting.
code.google.com
위 링크로 들어가서 자신의 운영체제에 bit에 맞는 파일을 다운 받고 설정하여 위 명령어를 다시 입력하여 키 해시값을 얻는다.
방법 2
아래 코드를 복붙하여 직접 로그를 찍어서 해시 값을 확인 할 수 있다.
var packageInfo: PackageInfo? = null
try {
packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
} catch (e: PackageManager.NameNotFoundException) {
e.printStackTrace()
}
if (packageInfo == null) Log.e("KeyHash", "KeyHash:null")
for (signature in packageInfo!!.signatures) {
try {
val md: MessageDigest = MessageDigest.getInstance("SHA")
md.update(signature.toByteArray())
Log.d("KeyHash", Base64.encodeToString(md.digest(), Base64.DEFAULT))
} catch (e: NoSuchAlgorithmException) {
Log.d("KeyHash", "Unable to get MessageDigest. signature=$signature")
}
}
Logcat 의 필터 기능을 확인하여 KeyHash 값을 얻는다.

이렇게 해시 값을 얻고 내 애플리케이션 android 플랫폼 등록의 키 해쉬 부분에 입력한다.

728x90
반응형
'🚀 Projects > 💣 Troubleshooting' 카테고리의 다른 글
| 크롬 오류 (클릭해도 창이 안뜸) (0) | 2023.07.06 |
|---|