Android SHA1,MD5,SHA256值通过代码获取
接入第三方往往需要用到签名和包名,以前都是命令行获取,这里分享下代码直接获取的方式原文:高德地图APIhttps://lbs.amap.com/faq/android/map-sdk/create-project/46723/public static String getSHA1(Context context) {return getSign(context, "SHA1");}public
·
接入第三方往往需要用到签名和包名,以前都是命令行获取,这里分享下代码直接获取的方式
原文:高德地图API
https://lbs.amap.com/faq/android/map-sdk/create-project/46723/
命令行获取:
https://lbs.amap.com/faq/android/map-sdk/create-project/43112/
public static String getSHA1(Context context) {
return getSign(context, "SHA1");
}
public static String getMD5(Context context) {
return getSign(context, "MD5");
}
public static String getSHA256(Context context) {
return getSign(context, "SHA256");
}
//代码获取sha1值
private static String getSign(Context context, String algorithm) {
try {
PackageInfo info = context.getPackageManager().getPackageInfo(
context.getPackageName(), PackageManager.GET_SIGNATURES);
byte[] cert = info.signatures[0].toByteArray();
MessageDigest md = MessageDigest.getInstance(algorithm);
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 (PackageManager.NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
更多推荐



所有评论(0)