安卓-幾種檢視SHA1和MD5的方法
阿新 • • 發佈:2018-11-14
安卓-幾種檢視SHA1和MD5的方法
1、獲取apk的sha1和md5
為了避免註冊時弄錯簽名,建議直接用打包出來的apk檢視簽名,具體如下:
1) 將apk修改後綴為 .rar檔案後解壓;
2) 進入解壓後的META-INF目錄,該目錄下會存在檔案CERT.RSA
3) 在該目錄下開啟cmd,輸入命令 :keytool -printcert -file CERT.RSA
2、程式碼中獲取
publicstatic String sHA1(Context context) {
try {
PackageInfo info = context.getPackageManager().getPackageInfo(
context.getPackageName(), PackageManager.GET_SIGNATURES);
byte [] cert = info.signatures[0].toByteArray();
MessageDigest md = MessageDigest.getInstance("SHA1");
byte[] publicKey = md.digest(cert);
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < publicKey.length; i++) {
String appendString = Integer.toHexString(0xFF & publicKey[i])
.toUpperCase(Locale.US);
if (appendString.length() == 1)
hexString.append("0");
hexString.append(appendString);
hexString.append(":");
}
String result = hexString.toString();
return result.substring(0, result.length()-1);
} catch (NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
3、使用簽名檔案獲取
1)開啟cmd命令,進入keytool.exe目錄,一般在 D:\Program Files\Java\jdk1.8.0_181\bin中
2)輸入命令:keytool -list -keystore “(jks的目錄)app.keystore(jks)”
3)輸入金鑰庫口令,是指輸入之前生成keystore檔案時設定的密碼,輸入後預設為不顯示的,輸入完成後直接回車就可以。
記錄一下