摘要
- 在 OS X 中運(yùn)行:
keytool -exportcert -alias [yourkeyalia] -keystore [yourkeystorepath] | openssl sha1 -binary | openssl base64
- 在 Windows 系統(tǒng)中運(yùn)行:
keytool -exportcert -alias [yourkeyalia] -keystore [yourkeystorepath] | openssl sha1 -binary | opensslbase64
根據(jù)提示替換成你的路徑点把,系統(tǒng)將生成包含 28 個(gè)字符的字符串。
示例:
- 在 OS X 中運(yùn)行:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64```
* 在 Windows 系統(tǒng)中運(yùn)行:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%.android\debug.keystore | openssl sha1 -binary | opensslbase64```
注:
-alias 后只需寫簽名的文件名会喝,不需要寫.keystore 這個(gè)后綴碍沐。
使用代碼獲取hashkey:
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);//兩次獲取的不一樣 此處取第一個(gè)的值
// Toast.makeText(this, "FaceBook HashKey:"+KeyHash, Toast.LENGTH_SHORT).show();
}
}
catch (PackageManager.NameNotFoundException e) { }
catch (NoSuchAlgorithmException e) { }````
#####問題:
.jks的簽名的命令是什么樣的挺狰?