gpt4 book ai didi

Android 安全 - 使用 pin 存储敏感信息的密码学

转载 作者:太空狗 更新时间:2023-10-29 13:14:18 25 4
gpt4 key购买 nike

在我的应用程序中,我在共享首选项中保存了一些数据,这些数据在保存之前必须加密,并且在检索时必须解密。

我正在使用 AES-256 加密。为此,我使用密码/密码生成 key 。下面是我的代码 fragment 。

    public static SecretKey generateKey(char[] passphraseOrPin, byte[] salt) throws NoSuchAlgorithmException, InvalidKeySpecException {
// Number of PBKDF2 hardening rounds to use. Larger values increase
// computation time. You should select a value that causes computation
// to take >100ms.
final int iterations = 1000;

// Generate a 256-bit key
final int outputKeyLength = 256;

SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
KeySpec keySpec = new PBEKeySpec(passphraseOrPin, salt, iterations, outputKeyLength);
SecretKey secretKey = secretKeyFactory.generateSecret(keySpec);
return secretKey;
}

根据我的应用,我可以要求用户提供唯一的 PIN。但是我无法将密码保存在 keystore 中,因为该应用程序必须从 4.0.0 开始支持。如何保存 PIN 码?

最佳答案

为此,我建议您考虑使用 Facebook Conceal 库。根据他们的 build.gradle,它与最高 API 9 的 android 兼容:https://github.com/facebook/conceal/blob/master/build.gradle

您可以按照他们在此处网站上关于如何集成的指导进行操作:

https://github.com/facebook/conceal

关于Android 安全 - 使用 pin 存储敏感信息的密码学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36443098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com