-
[Android] HashKey 구하기프로그래밍/Android 2018. 1. 16. 16:23
HashKey 구하기
키 해시를 구하는 방법은 여러가지가 있겠지만, 저는 프로젝트에서 코드를 이용하여 구하는 방법이 가장 쉽고 정확하다고 생각합니다.
MainActivity.java
package rebuild.com.hashkey;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Base64;
import android.util.Log;
import java.security.MessageDigest;
public class Mainctivity extends AppCompatActivity {
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = getApplicationContext();
getHashKey(mContext);
}
// 프로젝트의 해시키를 반환
@Nullable
public static String getHashKey(Context context) {
final String TAG = "KeyHash";
String keyHash = null;
try {
PackageInfo info =
context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
keyHash = new String(Base64.encode(md.digest(), 0));
Log.d(TAG, keyHash);
}
} catch (Exception e) {
Log.e("name not found", e.toString());
}
if (keyHash != null) {
return keyHash;
} else {
return null;
}
}
}
메서드를 추가하신 후에, 실행을 시키면 로그를 통해 키 해시 값을 얻을 수 있습니다. 주의 하실 점은 디버그용과 릴리즈용 키 해시 값은 다르니, 차후, 실제 서비스시에는 릴리즈용 키해시 값도 등록을 해주어야 합니다.
'프로그래밍 > Android' 카테고리의 다른 글
[Android] 글자에 옷을 입혀보자 (Spannable 사용하기) (3) 2018.02.01 [Android] 페이스북 계정으로 로그인 하기 (5) 2018.01.17 [Android] 카카오 계정으로 로그인하기 (69) 2017.12.27 [Android] TTS 기능 사용하기 (0) 2017.12.27 [Android] 안드로이드 스튜디오에서 JNI 사용하기 (12) 2017.12.15