2

我正在做一个项目,我需要在本地加密/解密一些数据。我正在使用RNCryptor进行加密和解密过程。为此,我需要使用密钥,我不想从应用程序端定义该密钥,例如:

NSString *password = @"Secret password";

有没有办法使用钥匙串中的任何属性来定义钥匙,这样我就可以使用相同的钥匙,而无需在代码库中定义它。

4

2 回答 2

3

如果您不想声明静态密钥或从静态密码派生密钥,您当然可以派生一个随机密钥并将该值存储在钥匙串中。SecRandomCopyBytes将返回以加密安全方式生成的任意长度的数组。您可以从此服务请求 32 个字节(256 位)并将其作为您的密钥存储在钥匙串中。显然要知道,如果你多次调用它,它不会返回相同的结果,所以一旦你存储了它,你就不能丢失它。

于 2017-01-23T03:58:04.217 回答
0

您可以在 github 中尝试 SAMKeychain

https://github.com/soffes/SAMKeychain

于 2017-01-23T05:57:05.720 回答