프로그램/Android

안드로이드 해시키(Hash Key) 추출

잡식성초보 2022. 2. 17. 09:00

앱 개발을 진행하면서 페이스북, 카카오sdk를 사용하기 위해서는 해시키(Hash key)를 등록해야한다.

 

해시키(Hash key)는 기본적으로 디버그용과 릴리즈용이 있으므로 배포전 반드시 체크하여 해시키값을 추출하여

 

등록하여야한다.

private fun getHashKey() {
    var packageInfo: PackageInfo? = null

    runCatching {
        packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
    }.onFailure {
        it.printStackTrace()
    }.onSuccess {
        for (signature in packageInfo!!.signatures) {
            runCatching {
                val md = MessageDigest.getInstance("SHA")
                md.update(signature.toByteArray())
                Log.d("KeyHash", Base64.encodeToString(md.digest(), Base64.DEFAULT))
            }.onFailure {
                Log.e("KeyHash", "Unable to get MessageDigest. signature=$signature", it)
            }
        }
    }
}

 

아래의 사진에 체크를 하여 앱 배포시 구글 사이닝에 체크를 하였을경우는 위의 코드값으로 해시키를 추출하여 처리를 할수 없다.

 

체크를 진행 하였을 경우에는 구글 콘솔에 있는 키값을 사용하여 추출하여야한다.

 

구글플레이 콘솔 > 앱 무결성 > SHA-1 인증서 지문 > 콘솔창에서 추출

 

echo SHA-1 인증서 지문 키값 | xxd -r -p | openssl base64

 

반응형