728x90
안녕하세요.
오늘은 키 해시(Key Hash) 추출 방법에 대해서 알아보도록 하겠습니다.
앱 개발 과정에서 Facebook 로그인이나 Kakao 로그인과 같은 소셜 로그인 기능을 구현하거나, 특정 타사 SDK와의 연동이 필요할 때 키 해시(Key Hash)를 요구받는 경우가 있습니다. 키 해시는 앱의 서명 키를 검증하여 API 요청의 신뢰성을 보장하는 역할을 합니다.
키 해시는 Android 앱의 서명 키를 기반으로 생성된 값으로, Facebook이나 Kakao와 같은 외부 API 서비스가 앱의 진위를 확인하는 데 사용됩니다. 등록된 키 해시만 신뢰할 수 있는 요청으로 간주되며, 키 해시가 올바르지 않으면 API 호출이 실패하거나 기능이 동작하지 않습니다.
이번에는 코드로 키 해시를 추출하는 방법을 사용해보도록 하겠습니다.
우선 전체 코드입니다
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getKeyHash();
}
private void getKeyHash() {
try {
PackageInfo info = getPackageManager().getPackageInfo(
getPackageName(),
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String keyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
Log.d("KeyHash", "KeyHash: " + keyHash);
}
} catch (Exception e) {
Log.e("KeyHash", "키 해시를 가져오는데 실패했습니다.", e);
}
}
}
코드를 작성 한 후, 실행하면 아래와같이 로그캣에서 키해시를 확인할 수 있습니다.
해당 키 해시값을 활용해서 API 연동 등록 등 다양하게 활용 할 수 있습니다.
'안드로이드 자바' 카테고리의 다른 글
[Java][Android] EditText 포커스 해제 시 키보드 숨기기 (1) | 2025.02.06 |
---|---|
[Java][Android] 현재 앱의 버전 정보 표시하기 (0) | 2025.01.26 |
[JAVA][Android] CollapsingToolbarLayout을 활용하여 확장/축소되는 상단바 구현하기 (0) | 2025.01.21 |
[JAVA][Android] AnyChart 로 막대그래프 생성 및 tooltip 활용 (0) | 2025.01.14 |
[Android][JAVA] 접근성 서비스 (Accessibility Service) : 앱에서 이벤트 추적과 자동화 구현하기 (0) | 2025.01.13 |