Android中如何通过代码的方式获取APP的SHA1值.
2017-07-21 13:59
645 查看
1.直接调用这个方法即可,传入一个上下文.
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 (NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
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 (NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
相关文章推荐
- 【Android工具类】在代码中如何获取应用签名及sha1值
- 通过控制台获取Android app签名的sha1值
- Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)
- Android如何通过代码方式打开微博 微信等应用.
- Android如何通过URI获取文件路径示例代码
- android 如何获取第三方app的sha1值
- Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)
- android:如何通过chrome远程调试APP中的webView的h5代码
- android手机如何获取某APP的页面耗时数据(命令行方式)
- android中如何通过代码来开启和关闭移动网络
- android 一个应用去获取另一个应用assets下面的资源通过框架代码桥梁------项目实战成功案例
- Android 如何通过HTTP获取网络上的数据?
- android中如何通过jni调用c,c++代码
- 如何在android环境下进行ttf解析,通过获取文件头信息得到字体名称!
- 通过WifiManager,DhcpInfo获取android IP地址及网关等信息(两种方式)
- 代码论坛如何通过C的方式在android NDK下面查找本机的mac地址
- 如何选择android app开发的方式
- Android通过http方式获取JSON字符串并解析的注意事项(乱码,小黑框)
- Android通过http方式获取JSON字符串并解析的注意事项(乱码,小黑框)
- 如何通过key获取value值,键找值!多线程单利模式 3月15日第三版 希望各位路过的高手批评指正 给出更优秀的代码方便后来人