android - 如何在 Android 中以编程方式读取 SHA 和 MD5 指纹

标签 android security hash keystore android-keystore

你好,我想以编程方式读取我的应用程序签名时 keystore 的 SHA 和 MD5 指纹值。

我将采用 SHA 或 MD5 值作为安全 key 。我将在代码中使用此 key 来加密某些内容并在服务器端对其进行解密。

有什么方法可以找到这个,或者有什么方法可以使用不同的好方法来做同样的事情。这应该是其他人无法找到此 key 的方式。

提前致谢。

最佳答案

PackageInfo info;
try {

    info = getPackageManager().getPackageInfo(
        "com.your.package.name", PackageManager.GET_SIGNATURES);

    for (Signature signature : info.signatures) {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String hash_key = new String(Base64.encode(md.digest(), 0));
    }

} catch (NameNotFoundException e1) {
} catch (NoSuchAlgorithmException e) {
} catch (Exception e) {
}

关于android - 如何在 Android 中以编程方式读取 SHA 和 MD5 指纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28251131/

相关文章:

java - 如何在 Android 中格式化来自 Wordpress 的长 json 文本

java - 在真实设备上运行应用程序时出现 NoClassDefFoundError,但在模拟器上运行时不会出现 NoClassDefFoundError

android - 在模拟器中打开wifi

代码添加的 Android 复选框外观不正确?

security - 计算机是否部署了预先计算的素数列表

c - 适用于异构元组的快速 8 位校验和算法

asp.net - 在抛出安全警告的 HTTPS 中找到 HTTP 包含的最简单方法?

sql - 可能的黑客攻击尝试。如何判断我的数据库是否已被泄露

python - 如果不修改,dicts 会保留迭代顺序吗?

java - 自定义哈希算法