안녕하세요 초보개발자 시아아빠입니다.
HashKey 구하는 법을 간단히 소개하겠습니다.
다음은 프로젝트에서 구현하여 HashKey를 알아내는 법 입니다.
> 해쉬키 구하는 코드입니다. (아무 프로젝트에서나 만들어서 실행하면 되구요 모든 프로젝트 동일합니다.)
package com.siadday.패키지명;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.util.Base64;
import android.util.Log;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getHashKey();
}
private void getHashKey()
{
PackageInfo packageInfo = null;
try
{
packageInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
}
catch (PackageManager.NameNotFoundException e)
{
e.printStackTrace();
}
if (packageInfo == null)
Log.e("KeyHash", "KeyHash:null");
for (Signature signature : packageInfo.signatures)
{
try
{
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
catch (NoSuchAlgorithmException e)
{
Log.e("KeyHash", "Unable to get MessageDigest. signature=" + signature, e);
}
}
}
}
이렇게 실행 후 Logcat에서 keyhash를 검색하여 찾습니다.
여기서 주의할 점은 디버그용과 릴리즈용 HashKey값이 다르므로,
실제 서비스시에는 릴리즈용 키해시 값도 등록을 해주셔야합니다.
'Android > Develop' 카테고리의 다른 글
[Android] Gradle 업데이트 (0) | 2020.04.03 |
---|---|
[Android] TimePicker 사용 및 키보드 입력시 유의사항 (0) | 2020.03.16 |
[Android] 카카오 계정으로 로그인하기(2019.10) (2) | 2019.10.16 |
[Android] Androidx로 migrate 간단히 하기 (0) | 2019.10.16 |
[Android - 짜잘한 Tip]EditText에 커서를 문자끝에 맞추기 (0) | 2019.09.30 |
댓글