为什么钥匙串比保存在文件中的加密数据更安全?

2024-01-03

为什么钥匙串比 iOS 应用程序文档目录中保存为文件的加密数据更安全?


通常,数据使用对称加密算法(例如 AES)进行加密,并且加密密钥保存在钥匙串中。数据可以放置在任何文件位置,通过加密算法和密钥进行保护。

钥匙串存储加密的密钥(和其他小数据)并限制对该数据的访问。此外,在最近的 iPhone(5S 及更高版本)中,钥匙串位于单独的处理器(Secure Enclave)中,这进一步限制了访问。在 iOS 中没有比这更安全的存储密钥的方法了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么钥匙串比保存在文件中的加密数据更安全? 的相关文章

  • iPhone 核心数据:无法找到 NSManagedObjectModel

    我使用 Apple 的 CoreDataBooks 示例项目作为核心数据的学习辅助工具 我修改了应用程序 以便在加载应用程序时我首先显示菜单页面 而不是图书表视图 RootViewController 我做了以下事情 我在界面生成器中创建了
  • 如何在ios开发中从mp3文件中提取元数据

    我正在开发一个带有云存储的 ios 音乐播放器 我需要提取音乐信息 如标题 艺术家 艺术作品 我有一个名为 playit 的操作 可以播放和暂停 mp3 文件 它还应该使用与 mp3 文件关联的元数据来填充一些 UILables 和 UII
  • iOS9 Sprite 套件问题

    一切都很顺利 直到我升级到 xCode 7 和 iOS 9 我当前的项目是一个 2D 平台游戏 自从升级以来 我就陷入了我们许多人似乎都面临的精灵套件错误 错误的困扰 我的问题是 每次游戏在模拟器或设备上运行时 所有精灵的 zPositio
  • 如何使用 Objective-C 解析 JSON?

    我是 iPhone 新手 谁能告诉我解析此数据并获取活动详细信息 名字和姓氏的步骤 error false data activity id 35336 user id 1 user first name Chandra Bhusan us
  • 如何在 iOS 中创建多行表格单元格?

    如何让第二个单元格扩展以适合文本而不是缩放文本 iOS 中有内置的方法可以做到这一点 还是我必须想出一些自制的解决方案 如果您查看 iOS 联系人应用程序 会发现有一个类似地址的框 但我找不到如何实现这一点 对于任何希望将来实现这一目标的人
  • 如何在javascript中计算日出和日落?

    我正在使用appcelerator titan开发一个IOS应用程序 我想让我的应用程序在日出和日落时向用户发送本地通知 解决这个问题的一个好工具是使用 YQL 的雅虎天气 但是 雅虎天气仅供非商业用途 我正在尝试找到一个javascrip
  • Objective-C 属性和内存管理

    给出以下属性定义 property nonatomic retain MyObject foo 以下代码是否会导致内存泄漏 self foo MyObject alloc init 看起来 alloc 调用将对象上的保留计数增加到 1 然后
  • 使用 HTTP NSURL 创建 AVAsset

    我正在尝试合并两个NSURLs包含视频参考 其中一个 URL 指向 AWS 上的视频 另一个 URL 指向本地存储的视频 我的导出代码有效 因为我已经尝试使用两个本地视频 但每当我尝试合并 HTTP url 和本地 url 时 我都会收到此
  • 如何将 RGB 值转换为十六进制字符串 iOS swift

    我想将 RGB 值转换为十六进制字符串 我将十六进制转换为 RGB 如下所示 但反之亦然 func hexStringToRGB hexString String gt red CGFloat green CGFloat blue CGFl
  • iOS 中第一响应者的正式定义是什么?

    据我所知 第一响应者对象是根据输入活动等接收回调信号 并且它将沿着链向上冒泡 直到找到愿意处理它的响应者 但更正式地说 第一响应者的范围是什么 例如 它是应用程序范围的响应程序吗 似乎作为第一响应者只是说这个特定的对象将收到交互通知 其他响
  • 当您从不同的视图控制器进行segue时,如何将数据从一个视图控制器保存(追加)到另一个视图控制器?

    抱歉 问题有点长 请多多包涵 基本上 我正在尝试使用 swift 编写一个简单的递增 递减 ios 应用程序 我有三个主视图控制器 一个是 初始视图控制器 即根视图控制器 仅包含两个按钮 一个以模态方式呈现到实际计数页面 第二个视图控制器
  • FIRApp 链接器错误 [“_OBJC_CLASS_$_FIRApp”]

    我已经搜索过 SO 和 Google 但找不到有效的答案 我已经在多个项目中使用了新的 Firebase Cocoapod 但是现在 当将其添加到不同的项目时 我收到以下错误 我正在使用 Xcode 7 3 1 和 cocoapods 1
  • 块如何捕获其封闭范围之外的变量?

    我知道 Objective C 块可以捕获并设置其封闭范围之外的变量值 它是如何做到的 它实际上相当简单 并在 Clang 的块实现规范中进行了描述 在 导入变量 http clang llvm org docs Block ABI App
  • 当键盘出现时调整 UITextView 的大小

    我想在键盘出现时调整文本视图的大小 我的代码如下 我打开了自动布局 因此使用来自超级视图的 textView gt bottom 空间的约束 并通过 IBOutlet distanceFromBottom 引用它 void keyboard
  • 如何顺序访问字典?

    我想以元素存储在字典中的方式访问字典 有人可以帮我做这件事吗 提前致谢 字典将其值存储在由键或更精确地由键的哈希值索引的结构中 这就是他们速度很快的原因 他们不需要搜索值 他们只需获取键的值并直接查找值 在大多数情况下 只有在发生冲突的键哈
  • Quartz 2D/OpenGLES 图像上的几何变形(最好使用 CGImage)

    实现诸如收缩 鱼眼等几何变形的首选方法是什么 使用iPhone SDK 我知道 OSX 的 Core Image 库内置了所有这些类型的过滤器 但 iPhone SDK 没有 我可以在给定原始源位图数据的特定位置和半径处创建位移图 但我不确
  • 测试 NSMutableArray 是否包含字符串对象

    我有一个NSMutableArray其中包含一些NSString对象 如何测试数组是否包含特定的字符串文字 I tried array containsObject teststring 但这行不通 你所做的应该很好 例如 NSArray
  • 出现错误:FT_Open_Face 失败:错误 2

    当我使用时出现以下错误CGContextDrawPDFPage context PDFPage 对于某些文件 有解决办法来解决这个问题吗 FT Open Face failed error 2 错误2看起来像errno2 这是 找不到文件
  • ios swift 如何将默认语言设置为阿拉伯语?

    我正在开发一个有两种语言的应用程序 即英语和阿拉伯语 我用英语编写了该应用程序 然后用阿拉伯语本地化了该应用程序 更改语言时需要重新启动应用程序 我唯一的问题是 第一次安装应用程序时如何将默认语言设置为阿拉伯语 我尝试在编辑方案部分将语言设
  • 在启动屏幕中执行代码已更新

    在原始启动屏幕中执行代码 https stackoverflow com questions 27642016 execute code in launch screen 现在默认的LaunchScreenXcode 项目中的文件已更改为

随机推荐

  • 使用 docker swarm 执行单个容器而不是“服务”

    我真的很喜欢拥有一组 docker 机器来执行 docker 服务的概念 我还喜欢单个 docker 容器所不具备的附加功能 例如 docker Secret 但我确实不需要长期服务 我的用例是简单地执行 bash 脚本 以使用 docke
  • JavaScript 静态类型检查的现状如何?

    我知道 Google Closure 编译器会进行类型检查 但是有没有其他替代方案 最好是不与库和优化器紧密耦合的替代方案 如果没有 有什么办法让Google Closure编译器only做静态分析 这里的静态分析是指定义参数的类型等 如果
  • 使用 MongoDB Java 驱动程序更新嵌入式文档中的字段?

    我正在尝试使用 Java 驱动程序对 MongoDB 中的嵌入式文档执行更新 但收到一个 IllegalArgumentException 指出 存储在数据库中的字段不能有 我的文档具有以下结构 id ObjectId 5155d102a4
  • 错误:之前应有“=”、“,”、“;”、“asm”或“__attribute__”

    是的 我知道这个问题以前已经被问过很多次了 但是我正在绞尽脑汁试图找出导致错误的原因 因为我无法识别通常丢失的分号在哪里 list h list h ifndef LIST H define LIST H define TRUE true
  • 从 Powershell 运行 R 脚本

    在批处理脚本中 我可以使用以下语法运行 R 脚本 Rterm exe quiet slave vanilla lt C some script R 不过 Powershell似乎为以后的扩展保留了 你可能应该看看Rscript而不是重定向
  • grails 将验证错误添加到 hasErrors

    我想知道如何向 hasErrors 方法添加自定义错误 以便 gsp 检测到错误 到目前为止我的代码 def recoverySetup new RecoverySetup params def onesolOrgkey OnesolOrg
  • '-[CIContext initWithOptions:]: 无法识别的选择器发送到实例

    我用它来生成一个大图像 let context CIContext options nil let bitmapImage CGImageRef context createCGImage image fromRect extent CGC
  • WordPress 插件内子页面的 url 解析

    假设我在 WordPress 中有一个页面 foo 这样 http www blah com foo 就会显示它 假设此页面的内容中有一个触发器 例如 现在有没有一种方法可以让插件知道它想要处理该类型的所有 urlhttp www blah
  • 在 Firebase 存储上复制文件?

    是否可以复制 Firebase 存储上的现有文件而无需再次上传 我需要它来设置我的应用程序的已发布 工作版本 Firebase Storage API 中没有方法可以为您已上传的文件创建副本 但 Firebase Storage 是建立在
  • 使用 Azul jdk 11 运行嵌入式 cassandra 时出现 AccessDeniedException

    我正在尝试使用 cassandra unit 库运行嵌入式 Cassandra蓝色 JDK 11使用 Gradle 项目并获取以下 AccessDenindException 我已经检查了权限build文件夹不是只读的 并且已经有一些文件
  • 选择不同的通知并准备更清晰的通知消息

    我已经创建了一个通知系统 它非常好 为了使其完美 还有一些事情需要改进 所以我就在这里 我正在开发的应用程序是一个用 PHP 编写的网站 我的通知有这个seen指示通知是否已签出的列 当用户单击与 Facebook 非常相似的通知下拉按钮时
  • 如何导入资源模块?

    今天我看到一个 python 文件以 import sys import time import heapq import resource from itertools import groupby from collections im
  • Heroku Rails Procfile

    我对 Heroku 很陌生 我将 Rails 应用程序上传到 Heroku 并希望使用 Thin 而不是 Webrick 来运行它 下列的Heroku 的指南 https devcenter heroku com articles rail
  • 带有 Flex SDK 的 Flash 组件

    我正在使用 Flex SDK 将 ActionScript 3 类编译为 swf 有些组件未包含在 SDK 中 例如 fl controls 组件 我有哪些选项可以访问闪存组件 我看到其他人提到我可以将它们导出到 Flash Pro 中的
  • Lua:加载文件后获取全局函数失败

    我正在尝试调用名为 test2 lua 的 lua 文件内的函数 这是test2 lua的内容 function abc path t table insert t a return t end 正如您所看到的 它需要一个输入并返回一个字符
  • Android:读取在 Google Drive 文件选择器中选择的文件

    在我的应用程序中 我需要读取一个设置文件 该设置文件可以位于本地存储中 也可以位于用户的 Google Drive 存储中 安装了 Google Drive 应用程序 下面打开一个文件选择器 首先询问用户要使用哪个文件选择器 包括使用 Go
  • 如何检索一个人的所有 GitHub 存储库列表?

    我们需要显示一个人在 GitHub 帐户上的存储库中的所有项目 如何使用特定人员的 git 用户名显示其所有 git 存储库的名称 您可以使用github API http developer github com v3 repos 为了这
  • 第二次加载谷歌地图片段时,膨胀视图上的空指针

    我正在使用 DrawerLayout 当我第二次加载谷歌地图片段时 异常将按预期被捕获 但是 当我尝试时 进一步采用相同的方法 Button btnShowList Button ui findViewById R id btnShowLi
  • 这是全局范围内的严格模式(在 ES2015 中)

    有人可以指出 ES2015 标准中说明什么的地方吗 this在全局范围内以严格模式使用时必须引用 我发现它等于window在我的 firefox 和 chrome 中 但不等于window在我的 Windows 7 x64 下的 IE11
  • 为什么钥匙串比保存在文件中的加密数据更安全?

    为什么钥匙串比 iOS 应用程序文档目录中保存为文件的加密数据更安全 通常 数据使用对称加密算法 例如 AES 进行加密 并且加密密钥保存在钥匙串中 数据可以放置在任何文件位置 通过加密算法和密钥进行保护 钥匙串存储加密的密钥 和其他小数据