为了确保应用程序内的安全,我正在使用以下方法来生成Keyhash。
private String getKeyHash() { PackageInfo info; String keyHash = null; try { info = getPackageManager().getPackageInfo(BuildConfig.APPLICATION_ID, PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md; //md = MessageDigest.getInstance(hashStretagy); md = MessageDigest.getInstance("SHA"); //md = MessageDigest.getInstance(getK); md.update(signature.toByteArray()); keyHash = new String(Base64.encode(md.digest(), Base64.NO_WRAP)); Log.v("KeyHash : " , keyHash); } } catch (PackageManager.NameNotFoundException e1) { Log.v("name not found" , e1.toString()); } catch (NoSuchAlgorithmException e) { Log.v("no such an algorithm" , e.toString()); } catch (Exception e) { Log.v("exception" , e.toString()); } return keyHash; }
除了上述用于在调用API时保护应用程序的方法以外,还有什么有效的方法可以生成密钥哈希。请为此提供帮助。谢谢。
为了确保应用程序内的安全性,我正在使用以下方法来生成Keyhash。私有字符串getKeyHash(){PackageInfo信息;字符串keyHash = null;尝试{info = ...
Android开发者论坛是检查的好地方https://developer.android.com/training/articles/security-tips