밤토리
article thumbnail
728x90

https://lakue.tistory.com/11

 

[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

 

728x90
profile

밤토리

@밤토리아이티

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!