Language/Kotlin

코틀린에서 API KeyHash 생성하는 함수

Say simple 2020. 7. 13. 16:47
728x90
반응형

많은 Api에서 안드로이드 앱의 KeyHash를 요구한다.

Kakao map Api, naver Api 등등....

KeyHash를 생성하는 소스코드이다.

    @RequiresApi(Build.VERSION_CODES.P)
    fun getKeyHash() {
        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())
        }
    }

KeyHash를 생성한 후 로그에 Hash Key를 검색하면 !!!해쉬키!!! 이런 방식으로 로그에 뜬다.

728x90
반응형