0

我正在开发一个项目,我需要在本地加密/解密一些数据。我正在使用RNCryptor进行加密和解密过程。要做到这一点我需要使用钥匙,我不想定义从应用程序方面是关键,如:生成密钥AES 256加密钥匙串

NSString *password = @"Secret password"; 

有什么办法来定义使用从钥匙链的任何财产,这样我可以使用相同的密钥而不用在代码库中定义它。

回答

2

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

+0

谢谢你的回答,帮助 – Batman4Ever