티스토리 뷰

오늘은 플러터에서 안드로이드의 서명 해시 값, 즉 해시 키를 구하는 가장 간단하고 정확하고도 아주 확실한 방법을 아주아주아주 간단하게 알아보도록 하겠습니다.
먼저 플러터에서 기존 서명 키를 참조하는 방법은 keytool을 사용하는 방법입니다. 하지만 해당 방법은 생각보다 부정확하고 실수 확률이 높습니다. 먼저 내가 사용하는 디버그용 키스토어 파일을 찾는 것부터 시작해서 keytool을 이용해서 서명 키를 해시 형태로 암호화하여 이를 적절히 참조해야 합니다.
솔직히 해당 방식이 널리 사용되고 관례적으로 많이 사용되지만 매우 귀찮고 실수할 수 있다는 것은 매한가지입니다. (그 키스토어를 사용해서 앱이 서명되었는지 알 수도 없는 노릇이고요.) 그래서 저는 플러터 Android 용 플러그인을 만들어 플러터 앱에 서명된 키 자체를 참조하여 이를 해시 형태로 반환해 주는 매우 편리하고 혁신적인 플러그인을 개발했습니다. (구현 방식은 생각보다 매우 간단했습니다.)
keystore_signature
keystore_signature | Flutter package
A Flutter plugin to retrieve Android app signature hash keys and convert them into SHA/MD5 hashes in Hex or Base64 format.
pub.dev
일단 여러분들이 앱 서명에 대한 해시를 참조하는 경우는 대부분 Firebase(16진수 형식)나 Kakao Developers(Base64 형식)와 같은 서비스에 앱 해시 키를 등록하는 경우일 것입니다.
flutter pub add keystore_signature
간단하게 설명하자면, 위 명렁어를 원하는 프로젝트에 대한 터미널을 열어 입력하고 실행하세요.
그리고 main 함수든 뭐가 됐든 앱 실행 시에 호출되거나 호출되도록 유의하면서 아래 코드를 복사 붙여넣기하고 앱을 실행하세요.
print("Kakao Developers: ${await KeystoreSignature.digestAsBase64(HashAlgorithm.sha256)}");
print("Firebase: ${await KeystoreSignature.digestAsHex(HashAlgorithm.sha1);}");
그러면 그토록 원하던 해시 키가 디버그 출력에 한순간에 출력될 것입니다. 이것을 그대로 Kakao Developers에 등록하면 끝입니다. 매우 간단합니다.
일단 제가 만들고 배포한 이 플러그인이 마음에 든다면 양심상 깃허브 레파지토리에 스타 한개 정도는 눌러주고 가시는 게 신상에 좋을 것입니다! (므흐므흐...)
농담이고, 이 짧지만 강렬한 제 글을 읽어주셔서 감사드립니다.
'플러터 (Flutter)' 카테고리의 다른 글
| [Flutter] 많은 사람들이 오해하는 shrinkWrap에 대해 알아봅시다. (0) | 2025.11.05 |
|---|---|
| [CI/CD] 플러터 GitHub Action 자동화 배포 (0) | 2025.10.16 |
| [Flutter] 페이지 전환 애니메이션을 커스터마이징하기 (0) | 2025.02.27 |
| [Flutter] 성능과 유연한 AppBar 구현 패키지 (0) | 2025.01.28 |
| [Flutter] Inkwell를 대체하기 위한 패키지 (터치 효과) (0) | 2024.10.09 |
- Total
- Today
- Yesterday
- TypeScript
- flutter contribution
- 안드로이드 개발
- 깃허브
- 최적화
- pageroute
- github
- 플러터
- webpack
- 객체지향
- pagetransitionsbuilder
- JavaScript
- omit
- 조건부 타입
- 타입스크립트
- jetpack compose
- StretchEffect
- Reflow
- android
- Factory Method
- 플러터 기여
- keystore_signature
- 안드로이드
- 객체 지향
- compose_appbar
- svg
- Flutter
- 디자인 패턴
- web
- 팩토리 메서드
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |