Làm cách nào để lấy vân tay MD5 từ keytool của Java, không chỉ SHA-1?


105

Khi tôi muốn sử dụng bản đồ Google trong ứng dụng của mình, tôi cần tệp tham chiếu MD5 của chứng chỉ gỡ lỗi. Tôi đã thử làm theo:

(Ở đây tôi đã sao chép tệp debug.keystore từ C: \ Documents and Settings \ Administrator.android trong thư mục bin)

C:\Program Files\Java\jdk1.7.0\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

Nhưng nhận được kết quả sau:

androiddebugkey, May 27, 2011, PrivateKeyEntry,Certificate fingerprint (SHA1): "some code"

Tuy nhiên, cách đó không hoạt động để lấy khóa API MAP. SHA1 có giống MD5 không?

Tôi phải làm gì để có được chứng chỉ MD5?

Câu trả lời:


189

Với JDK 1.7 được cài đặt, keytool luôn xuất ra theo dấu vân tay SHA1 mặc định, không phải MD5. bạn có thể nhận Chứng chỉ MD5 bằng cách thêm tùy chọn -v.

sử dụng mã sau: -

C:\Program Files\Java\jdk1.7.0\bin>keytool -v -list -alias
androiddebugkey -keystore debug.keystore -storepass android -keypass android

nó cũng sẽ xuất ra chứng chỉ MD5.


7
Cảm ơn, tùy chọn -v đã làm nó cho tôi
Joseph Earl

Bây giờ quy trình MD5 & sha1 đã thay đổi Google Sau khi chúng tôi có MD5 ở đây. Chúng tôi cần lấy khóa API từ bảng điều khiển API của Google ngay. nhờ chàng trai
Crishnan Iyengar

@ Ankit-Saxena - Bạn có thể vui lòng trả lời tùy chọn stackoverflow.com/questions/55336382/… -v không hoạt động với tôi.
v1h5

25

Để nhận giá trị MD5 và SHA1 ... vv, hãy bỏ qua điều này bên dưới:

Trước khi thực hiện điều này, đừng quên sao chép debug.keystore vào một thư mục Androidkeystore giống như được tạo trong ổ C.

C:\Program Files\Java\jdk1.7.0_05\bin>keytool -v -list -keystore C:\Androidkeyst
ore\debug.keystore

nó hỏi ở đây .. Nhập mật khẩu kho khóa: android

nhập bạn có ở đây MD5 & SHA1..vv

Keystore type: JKS
Keystore provider: SUN

Your keystore contains ? entry

Alias name: androiddebugkey
Creation date: ?? ???, ????
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[?]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 67b6344b
Valid from: Mon Jun 18 20:33:56 IST 2012 until: Wed Jun 11 20:33:56 IST 2042
Certificate fingerprints:
         MD5:  C2:61:51:3E:BC:C8:0C:DB:75:B6:E7:C4:90:AD:91:39
         SHA1: CD:5E:8A:0F:4E:0F:2E:FD:92:5E:5E:4R:CF:F8:44:33:2C:8C:B8:97
         SHA256: B5:BF:75:60:DB:62:09:49:F1:38:CH:49:18:22:18:95:03:C9:5C:14:F6:
B0:F4:21:D2:19:B8:FF:38:D2:B9:FD
         Signature algorithm name: SHA256withRSA

LƯU Ý: nếu có bất kỳ khoảng trắng nào trong đường dẫn thư mục, bạn PHẢI đặt nó trong dấu ngoặc kép. ví dụ: sử dụng định dạng này:

-keystore "C: \ Users \ Your Name \ .android \ debug.keystore"


3
@AnkitSaxena Câu trả lời này tốt hơn và hữu ích cho tôi, vì vậy vui lòng không ngăn bất kỳ ai cung cấp câu trả lời thay thế với thông tin khác. Cảm ơn K.krishnan vì câu trả lời này +1
Onimusha

6

Nếu bạn đang sử dụng jdk 7:

Sử dụng tùy chọn -v.


1
Hãy lưu ý ngày mà câu hỏi này được hỏi. Đừng trả lời những câu hỏi cũ trừ khi bạn nghĩ rằng bạn có câu trả lời hay hơn.
Riking

Tôi chỉ làm điều đó vì nó giải quyết được vấn đề của tôi. Và tôi chỉ nhận được vấn đề bây giờ. Tôi chỉ muốn để lại một cái gì đó nếu bất cứ ai đến với cùng một vấn đề bây giờ. Nhân tiện cảm ơn vì 2 điểm trừ. :(
fjs

5

thêm vào -v

ngay sau đó keytoolvà trước đó-list

keytool -v -list

3

sao chép tệp 'debug.keystore' vào c:\ hoặc một số thư mục

bạn thử đi c:\Program Files\Java\jdk1.6.25\bin folder và nhập liệu

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -keystore c:\debug.keystore

mật khẩu là 'android'


3

Cờ -v cũng cho chứng nhận SHA1. Nếu không có cờ đó, bạn chỉ nhận được dấu vân tay MD5.


3

Cách dễ nhất để nhận SHA 1, MD 5 là nhấp vào Gradle ở phía trên bên phải gần góc màn hình của Android Studio. Sau đó nhấp vào tên của ứng dụng (ví dụ: android123 (root) : nó sẽ xuất hiện như thế này). Sau đó, bạn sẽ tìm thấy một thư mục con có tên là android và nhấp vào thư mục đó để đến SignReport . Nó sẽ chạy trong bảng điều khiển và sẽ hiển thị cho bạn SHA 1, MD 5. Hy vọng nó sẽ hữu ích.


Cảm ơn bạn! Tất cả các câu trả lời khác không phù hợp với tôi, nhưng câu trả lời này thì có.
Yuri Reis

2

Tôi đã giải quyết sự cố trong Windows 8 bằng cách mở Command Prompt (Admin), sau đó nhập:

C:\Program Files (x86)\Java\jre7\bin>keytool -v -list -keystore C:\<Your Path>\<Your Keystore>

Sau đó, chỉ cần truy cập https://code.google.com/apis/console/

Khi chúng thay đổi sang giao diện mới, bạn phải chuyển đến tab API & auth ở phía bên trái, sau đó chuyển đến Ứng dụng đã đăng ký , chọn khóa API hiện có của bạn để thay thế hoặc tạo khóa mới, sử dụng mã SHA1 đã tạo trước đó.

Đó là cách tôi làm cho nó hoạt động.



1

Chỉ cần xuất dự án của bạn bằng cách sử dụng kho khóa của bạn trong eclipse và trong bước cuối cùng, bạn sẽ nhận được cả SHA-1 và MD-5..

nhập mô tả hình ảnh ở đây

Nhìn vào câu hỏi này để biết thêm chi tiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.