在开发过程中可能会遇到需要SHA1码,比如需要开发百度、高德地图啊这类功能的时候
在这呢我自己也记录分享下如何用代码来获取SHA1码
public static 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);
StringBuilder hexString = new StringBuilder();
for (byte b : publicKey) {
String appendString = Integer.toHexString(0xFF & b)
.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 (PackageManager.NameNotFoundException | NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
日常记录,以后会经常分享,谢谢支持!