[Android/안드로이드] 해시키(Hash key) 가져오는 방법
해시키는 앱마다 가지고 있는 고유키입니다. 페이스북 SDK, 카카오톡 SDK 등과 연동하기 위해서는 해시키(Hash key)를 가지고 각각의 앱을 구분하여 설정된 기능을 제공하기 때문에 반드시 해시키(Ha
lakue.tistory.com
카카오로그인 연동을 위해서 Hashkey를 알아야한다.
React만 1년반 쓰다보니 자바와 안드로이드는 1도 모르는 삐약이는
Hash key를 구하라는데 어느시점에서 어떻게 구하는지 몰랐다.
[안드로이드 HashKey 구하는 방법] - 위의 블로그 참고
package com.runcompany;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.os.Bundle;
import android.util.Base64;
import android.util.Log;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MainActivity extends ReactActivity {
/**
* Returns the name of the main component registered from JavaScript. This is used to schedule
* rendering of the component.
*/
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
//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);
}
}
}
}
저와같은 안드로이드/자바 삐약이들을 위해서 친절하게 run 하는 방법을 알려드립니다.
1) 안드로이드 - app/java/com.본인프로젝트패키지명/MainActivity.java (=혹은 실행파일)
2) 최상단 Run - Run (NDK 오류시 SDK 매니저를 통해 설치해야한다)
3~4) 최하단 Logcat을 누르고 'KeyHash'를 검색한다.
5) keyHash값이 추출된다.
+ 참고
https://github.com/react-native-seoul/react-native-kakao-login
react-native-seoul/react-native-kakao-login
react-native native module for Kakao sign in. Contribute to react-native-seoul/react-native-kakao-login development by creating an account on GitHub.
github.com
'Frontend > React' 카테고리의 다른 글
[React] 클래스형 컴포넌트의 생명주기(LifeCycle) (0) | 2023.07.01 |
---|---|
[React Native] 'react-native-svg' Install 오류 조치 방법 (Could not resolve dependency (0) | 2021.03.17 |
[React-Native] react-navigation V5 (네비게이션) / Route 분기하기 (0) | 2020.07.30 |
React-native 시작하기 [react-native run-android 오류] (0) | 2020.07.08 |
[Git] Git 설치 방법 (0) | 2019.10.24 |