ios - 从钥匙串(keychain)生成 AES 256 加密的 key

标签 ios objective-c encryption public-key-encryption aescryptoserviceprovider

我正在开发一个项目,需要在本地加密/解密一些数据。我正在使用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/

相关文章:

objective-c - 如何使用 tvOS 接收触摸?

iphone - iOS 上特定于应用程序的数据保护

PHP 和 MYSQL AES_Encrypt 问题

ios - SpriteKit 碰撞检测中 SKSpriteNodes 之间的间隙

ios - 无法点击 UITableView 中的最后一个单元格(仅在模拟器 4 中)

ios - 如何将 uitableview 中的单个单元格链接到不同的 URL?

iphone - 自动引用计数的困惑

java - 我需要有效地解密文件

ios - 将更多项目添加到 ScrollView 顶部时,将现有项目向下移动

ios - monitoringDidFailForRegion 为 iBeacon 区域时,kCLErrorDomain 错误 5