public static String getSHA1(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 (PackageManager.NameNotFoundException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; }
android中获取SHA1的代码
最新推荐文章于 2024-04-13 21:36:40 发布
本文介绍了一种在Android应用程序中获取应用签名SHA1指纹的方法。通过使用PackageManager获取已安装应用的信息并计算其签名的SHA1哈希值,可以确保应用的完整性和安全性。此方法适用于需要验证应用身份或与后端服务进行安全通信的场景。

382

被折叠的 条评论
为什么被折叠?



