我正在一个项目中,我需要在本地加密/解密一些数据。我正在使用RNCryptor进行加密和解密过程。为此,我需要使用密钥,我不想从应用程序端定义该密钥,例如:
NSString *password = @"Secret password";
有没有什么办法可以使用钥匙串中的任何属性来定义钥匙,以便我可以使用相同的钥匙而无需在代码库中定义它。
最佳答案
如果您不想声明静态密钥或从静态密码派生密钥,则可以肯定地派生随机密钥并将该值存储在钥匙串中。 SecRandomCopyBytes
将返回以密码安全方式生成的任意长度的数组。您可以从该服务请求32个字节(256位)并将其作为密钥存储在钥匙串中。显然,请注意,如果多次调用此方法,它将不会返回相同的结果,因此,一旦存储密钥,就不能丢失它。
关于ios - 从钥匙串(keychain)生成用于AES 256加密的 secret key ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41798936/