안드로이드[Java | Kotlin]

[Java/Kotlin] API 관련 해시키값 출력 / SHA-1 인증서

티라미주 2022. 2. 8. 11:03

이거 맨날 까먹어서 올려놓음

 

Kotlin Ver.

fun getHashKey() {
    var packageInfo: PackageInfo? = null
    try{
        packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
    } catch (e: PackageManager.NameNotFoundException) {
        e.printStackTrace()
    }
    if (packageInfo == null) {
        Log.d("hashKey", "null")
    }
    packageInfo?.signatures?.forEach {
        try {
            val md = MessageDigest.getInstance("SHA")
            md.update(it.toByteArray())
            Log.d("hashKey", Base64.encodeToString(md.digest(), Base64.DEFAULT))
        } catch (e: NoSuchAlgorithmException) {
            e.printStackTrace()
            Log.e("KeyHash", "Unable to get MessageDigest. signature=$it", e)
        }
    }
}

Java Ver.

private fun getHashKey() {
    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))
            ILog.iLogDebug("KeyHash", Base64.getEncoder().encodeToString(md.digest()))
        } catch (e: NoSuchAlgorithmException) {
            ILog.iLogDebug("KeyHash", "Unable to get MessageDigest. signature=$signature")

        }
    }

}

어플리케이션 SHA-1 인증서

Gradle >>코끼리 >> gradle signingReport >> 엔터 >> run창 확인