Android程序中获取SHA1值

来源:互联网 发布:金星太监知乎 编辑:程序博客网 时间:2024/06/08 02:31

在调用一些第三方的API的时候,要求我们给出项目的SHA1的值,如何直接在程序中直接输出这个值呢?

在项目中嵌入这段代码,然后调用它,控制台中的输出值就是我们需要的SHA1的值了。

private String getSHA1(Context context){        //  public static String sHA1(Context context) {        //Context context = this.getContext();        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;    }
0 0
原创粉丝点击