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