我正在一个项目中,我需要在本地加密/解密一些数据。我正在使用RNCryptor进行加密和解密过程。为此,我需要使用密钥,我不想从应用程序端定义该密钥,例如:
NSString *password = @"Secret password";
有没有办法使用钥匙串中的任何属性来定义钥匙,这样我就可以使用相同的钥匙而无需在代码库中定义它。
如果您不想声明静态密钥或从静态密码派生密钥,则可以肯定地派生一个随机密钥并将该值存储在钥匙串中。SecRandomCopyBytes
将返回以加密安全方式生成的任意长度的数组。您可以从该服务请求32字节(256位)并将其作为密钥存储在钥匙串中。显然,请注意,如果多次调用此方法,它将不会返回相同的结果,因此,一旦存储密钥,就不能丢失它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句