首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java keytool 取得 MD5 指紋而非預設 SHA-1 完整指令

     編輯:程式設計綜合問答

JDK 7 起 keytool -list 預設輸出 SHA-1 指紋,但 Google Maps API v1(已棄用)及部分舊系統需 MD5 指紋。需加入 -v 參數顯示詳細資訊,即可同時看到 MD5、SHA-1、SHA-256 等所有指紋。

標準指令


keytool -v -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

輸出範例


別名: androiddebugkey
建立日期: 2023-10-15
項目類型: PrivateKeyEntry
憑證鏈長度: 1
憑證[1]:
擁有者: CN=Android Debug, O=Android, C=US
發出者: CN=Android Debug, O=Android, C=US
序號: 1
有效期: 從 2023-10-15 至 2053-10-07
憑證指紋:
     MD5:  94:1E:43:49:87:73:BB:E6:7D:9A:3C:4F:1A:2B:5C:6D
     SHA1: A1:B2:C3:D4:E5:F6:07:18:29:3A:4B:5C:6D:7E:8F:90:01:12:23:34
     SHA256: ...
簽名演算法名稱: SHA256withRSA
主體公鑰演算法: 2048 位元 RSA 金鑰
版本: 3

參數說明

參數作用
-vVerbose 模式,輸出所有指紋演算法(MD5、SHA1、SHA256)
-list列出金鑰庫條目
-alias androiddebugkey指定偵錯金鑰別名(預設)
-keystore debug.keystore指定金鑰庫檔案路徑
-storepass android金鑰庫密碼(預設)
-keypass android金鑰密碼(預設)

常見金鑰庫位置

  • Windows: C:\Users\<用戶名>\.android\debug.keystore
  • macOS/Linux: ~/.android/debug.keystore
  • 自訂簽名金鑰: 專案 keystore.jks 或 release.keystore

現代開發注意事項

  • Google Maps Android API v2+ 不再需要 MD5,僅需 SHA-1 向 Google Cloud Console 註冊。
  • Play App Signing 上架後由 Google 管理簽名金鑰,本地金鑰僅用上傳,指紋以 Play Console 顯示為準。
  • JDK 11+ keytool 行為一致,仍需 -v 看 MD5。

單行指令快速取得 MD5(管線過濾)


# Linux/macOS
keytool -v -list -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android 2>/dev/null | grep "MD5:" | awk '{print $2}'

# Windows PowerShell
keytool -v -list -alias androiddebugkey -keystore $env:USERPROFILE\.android\debug.keystore -storepass android -keypass android | Select-String "MD5:" | ForEach-Object { $_.ToString().Split(":")[1].Trim() }

掌握 -v 參數,即可隨時取得任意指紋演算法,應對新舊系統整合需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved