728x90
1. openssl 다운로드 후 cmd를 이용한 방법
장점 : 빠르다
단점 : openssl 버전이나 상황에 따라 값이 옳지 않게 나올 때가 있다.
1-1) 디버그 해쉬 값 구하기
keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
1-2) 릴리즈 해쉬 값 구하기
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64
그래서 사용한 방법
2. kotlin으로 hash값 구하기
MainActivity.kt
import android.content.pm.PackageInfo
import android.content.pm.PackageManager
import android.os.Bundle
import android.util.Base64
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import java.security.MessageDigest
import java.security.NoSuchAlgorithmException
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
printHashKey()
}
private fun printHashKey() {
try {
val info: PackageInfo = packageManager.getPackageInfo(
packageName,
PackageManager.GET_SIGNATURES
)
for (signature in info.signatures) {
val md: MessageDigest = MessageDigest.getInstance("SHA")
md.update(signature.toByteArray())
val hashKey: String = Base64.encodeToString(md.digest(), Base64.NO_WRAP)
Log.i("TAG", "printHashKey() Hash Key: $hashKey")
}
} catch (e: NoSuchAlgorithmException) {
Log.e("TAG", "printHashKey()", e)
} catch (e: Exception) {
Log.e("TAG", "printHashKey()", e)
}
}
}
728x90
'개빡치는 안드로이드' 카테고리의 다른 글
안드로이드 kotlin : HttpURLConnection (0) | 2024.04.17 |
---|---|
안드로이드 : 코틀린 some kotlin libraries attached to this project were compiled with a newer kotlin.. (0) | 2024.04.04 |
wear OS : 안드로이드, 갤럭시 워치4 연결 및 생체 정보 불러오기 (0) | 2023.08.22 |
안드로이드 스튜디오 SHA-1 인증서 찾기, OAuth 클라이언트 ID만들기 (0) | 2023.08.17 |