代码:
// Add code to print out the key hash
PackageInfo info = getPackageManager().getPackageInfo("com.my.package", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash1:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
Log.d("KeyHash2:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
Logcat输出:
02-21 10:07:55.957: D/KeyHash1:(2666): A0AFqS0kOUlvxvH1L3VCCrTXNY8=
02-21 10:07:55.967: D/KeyHash2:(2666): 2jmj7l5rSw0yVb/vlWAYkK/YBwk=
我对这两个不同的哈希键感到困惑。 现在我的问题是哪个键适用于我的应用程序
我认为md.digest()
在第一次和第二次方法调用时会返回不同的值。
答案 0 :(得分:0)
先生,在日志中,您正在编码字符串。
这是我的代码。
md = MessageDigest.getInstance("SHA-256");
md.update(text.getBytes("iso-8859-1"), 0, text.length());
sha1hash = md.digest();