본문 바로가기
Programming/Android

[Kotlin] 안드로이드 키해시 값 얻는 두가지 방법

by soccerman 2020. 11. 2.
반응형

카카오 디벨로퍼 연결을 위한 키해시값 얻는 방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import android.content.pm.PackageManager
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Base64
import android.util.Log
import androidx.annotation.RequiresApi
import java.security.MessageDigest
import java.util.*
 
class MainActivity : AppCompatActivity() {
    @RequiresApi(Build.VERSION_CODES.P)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        try {
            val info = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES)
            val signatures = info.signingInfo.apkContentsSigners
            val md = MessageDigest.getInstance("SHA")
            for (signature in signatures) {
                val md: MessageDigest
                md = MessageDigest.getInstance("SHA")
                md.update(signature.toByteArray())
                val key = String(Base64.encode(md.digest(), 0))
                Log.d("Hash key:""!!!!!!!$key!!!!!!")
            }
        } catch (e: Exception) {
            Log.e("name not found", e.toString())
        }
    }
}
cs

참고자료

thegloryofgod.tistory.com/50

roadrunner.tistory.com/608

 

*** 긴 코드 적지 않고 키해시 아는 방법


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


터미널에 위 코드 작성 후 실행

 

*** 2020.11.05 추가

('keytool'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. )

터미널을 이용해 키해시 값을 얻는 과정에서 keytool 함수 실행에 위의 문제가 있는 경우

 

해결방법

-jdk와 jre환경변수 path 설정

jdk와 jre 설치되어 있는 것을 확인한 후

 

제어판=> 시스템 및 보안 => 시스템 => 설정변경 => 고급 => 환경변수

시스템변수 => path => 편집

=> jdk와 jre가 목록에 있는지 확인한 후 없으면 => 새로만들기 클릭 후 파일 주소를 넣어준다.

이후 keytool을 사용해보면 키해시값을 얻을 수 있다.

 

 

출처

medium.com/@sunminlee89/%EB%AC%B4%EC%9E%91%EC%A0%95-%EC%95%B1%EB%A7%8C%EB%93%A4%EA%B8%B0-4-%EC%B9%B4%EC%B9%B4%EC%98%A4%EB%A7%B5%EC%9D%84-android-%EC%95%B1%EC%97%90-%EB%9D%84%EC%9A%B0%EA%B8%B0-65e4544e7572

반응형

댓글