敏感数据:NSString VS NSMutableString (iPhone)

2023-11-27

我有一些敏感数据想在使用后直接清除。目前,敏感数据都是NSString的形式。根据我的理解,NSString 是不可变的,这意味着我无法真正清除数据。不过,NSMutableString 似乎更合适,因为它是可变的,并且具有诸如replaceCharactersInRange 和deleteCharactersInRange 之类的方法。我不了解实现细节,所以我想知道 NSMutableString 是否能满足我的目的?


我担心 NSMutableString 会尝试优化并将字符串保留在内存中。如果您想要更多控制,请尝试分配自己的内存,然后用它创建一个 NSString。如果这样做,您可以在释放内存之前覆盖它。

char* block = malloc(200);
NSString* string = [[NSString alloc] initWithBytesNoCopy:length:encoding:freeWhenDone];
//use string
memset(block, 0, 200);// overwrite block with 0
[string release];
free(block);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

敏感数据:NSString VS NSMutableString (iPhone) 的相关文章

  • 在 iPhone 中缝合图片

    我想并排缝合2张png 在Cocoa中 我会使用 NSImage initWithSize 然后只是drawInRect 但是 UIImage 没有 initWithSize 类 我现在该怎么做 Use UIGraphicsBeginIma
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐
  • UIImageJPEGRepresentation 在视网膜显示屏上提供 2x 图像

    我有这段代码 它创建一个图像 然后向其添加一些效果并缩小其大小以使其largeThumbnail UIImage originalImage UIImage imageWithData self originalImage thumbnai
  • 如何动态获取 UITableViewCell 的高度

    我创建了自定义的tableViewCell 我在UITableViewCell中添加了UIView SubView 所以我在 UIView 中的所有动态文本和图像内容都会根据文本和图像大小而变化 但现在 HeightforRowAtInde
  • 无法在 ios 应用程序中通过 googlecast 正确投射视频

    我正在开发一个基于 AVPlayer 的自定义视频播放器项目 尝试整合谷歌演员 我已经根据谷歌图进行了集成 https codelabs developers google com codelabs cast videos ios http
  • 如何使用 alamofire 通过基本身份验证上传图像?

    我正在尝试使用 alamofire 4 7 1 和此代码上传图像 但说实话 我怀疑我没有编写正确的代码来上传图像 func uploadDefect defectRemark String defectLocation String def
  • 在 iOS 应用程序中拨打电话

    我有一些代码尝试在应用程序中进行调用 但它似乎不起作用 UIApplication myApp UIApplication sharedApplication NSString theCall NSString stringWithForm
  • BigQuery 未显示链接的 Firebase Analytics 事件日志的任何数据集

    我将我的帐户链接到 Big Query 但 Firebase Analytics 事件不会自动加载到 BigQuery 中 显示 未找到数据集 警告 我的工作进度附在下面 请查收 I have getting firebase Analyt
  • iOS 7 tabBar 横线,如何去掉?

    Apple 在 iOS 7 中的 tabBar 上添加了一条细线 该线应该在 tabBar 和 UI 之间起到阴影或淡入淡出的作用 由于我使用的是定制的 tabBar 这条线非常令人恼火 你如何删除它 请告诉我这是可能的 否则我需要重新设计
  • 在 WKWebView 中禁用缩放?

    有谁知道在 WKWebView 中禁用双击和捏缩放的简单方法 我尝试过的任何方法都不起作用 Webview scrollView allowsMagnification false Error value of type WKWebView
  • 未知异常和崩溃

    当我尝试快速滚动表格视图或从远程重新加载数据时 我的应用程序崩溃了 当我先进行远程获取然后滚动表格视图时 一切似乎都工作正常 我不知道下面的崩溃日志意味着什么 它只是有时工作正常 有时崩溃 Incident Identifier 710A1
  • 在 iOS 上使用 RNCryptor 异步解密大文件

    我需要在 iOS 上使用 RNCryptor 异步解密一个大文件 以便显示进度条 我在任何地方都找不到示例 因此尝试了我猜对的方法 但是 我想出的方法不起作用 解密器的处理程序从未被调用 并且线程在发送所有数据后因 EXC BAD ADDR
  • 根据内容自动更改单元格高度 - Swift

    在 Swift 中使用 UITableView 有人可以帮我根据标签 图片和描述自动更改单元格的高度吗 所有信息都正确传递 我只需要帮助格式化它 我尝试使用调整它cell frame size height 但这没有效果 我可以更改故事板中
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • 诊断和仪器均缺少“僵尸”选项

    运行 Xcode 4 0 2 Zombie 选项丢失 其他 SO 帖子建议找到它的两个地方 Product gt Run looks like this Product gt Profile looks like this 奇怪的是 我之前
  • ios8 键盘高度有所不同

    我使用下面的代码来获取键盘高度 该高度在带有 ios8 的 iPhone 5s 设备中与带有 ios7 的 IPhone4s 设备中有所不同 因此 当我在带有 ios8 的 iPhone5s 中点击它时 我的文本字段移动得非常高 而相同的代
  • 所有 RestKit 项目在归档时都无法构建

    这个问题涉及RESTKIT 0 9 x 如果您是 Restkit 新手 请考虑使用较新的版本0 10 x https github com RestKit RestKit tree v0 10 1 branch 我最近继承了一个项目 使用r
  • Glib 在 iPhone 应用程序中的使用

    我想基于现有的开源 Objective C 框架开发一个 iPhone 应用程序 但是该框架广泛使用了 glib 库 我找不到一种方法来构建和包含 iPhone 应用程序的 glib 库 非越狱 有什么办法可以做到这一点 或者有没有推荐的方
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • NodeJS 中将字符串从 utf8 转换为 latin1

    我使用的是 Latin1 编码的数据库 无法将其更改为 UTF 8 这意味着我遇到了某些应用程序数据的问题 我正在使用 Tesseract 对文档进行 OCR tesseract 以 UTF 8 编码 并尝试使用 iconv lite 但是
  • 将内存转储到文件

    我想将一部分内存转储到文件中 一个原因是将信息保存在某个地方 另一个原因是当我的程序重新启动时再次读取它 这样做的正确方法是什么 我的第一个想法是 char start my pointer int i for i 0 i lt MEMOR
  • 过程指针,派生类型

    以下内容无法在 Intel Fortran XE 2011 中编译 TYPE type1 procedure interface1 POINTER p END TYPE type1 ABSTRACT INTERFACE integer fu
  • Firebase 错误:W/BiChannelGoogleApi:[FirebaseAuth:] getGoogleApiForMethod() 返回 Gms

    这是我的注册活动 我正在尝试使用 Firebase 创建一个 createUserWithEmailAndPassword 并向用户的个人资料添加一些详细信息 例如全名 地址和电话号码 我想在使用电子邮件和密码创建用户时在分配给新用户的 用
  • SolidJS:控制台日志中的“在`createRoot`或`render`之外创建的计算将永远不会被释放”消息

    在处理 SolidJS 项目时 您可能会开始在 JS 控制台中看到以下警告消息 computations created outside a createRoot or render will never be disposed Solid
  • 使用故事板的优点和缺点

    我计划学习使用故事板开发应用程序 任何人都可以发布使用 StoryBoards 时的一些优点和缺点吗 何时使用 Storyboard 以及何时使用 XIB 在 iOS 编程中使用 Storyboard 代替 xib 文件有什么好处 ipho
  • MySQL 更新更改多个列是非原子的吗?

    我在使用 Django 和 MySQL 5 5 22 时遇到以下问题 给定一个包含 id level 列和存储为 a11 a12 a21 a22 的 2x2 矩阵的表 我有这一行 id a11 a12 a21 a22 level 324 3
  • 创建多个变量[重复]

    这个问题在这里已经有答案了 我想用一个创建 10 个变量for在Python中 不是数组 像这样的东西 for i in range 1 10 1 variable i 100 i print variable i 我想创建变量名称 在本例
  • 转置 pandas 数据框的一部分

    我有以下数据框 gt gt gt df Out 15 group type amount number 0 group A buy 100 123 1 group A view 0 111 2 group B view 0 222 3 gr
  • 在 Django 中将 unaccent 与 SearchVector 和 SearchQuery 一起使用

    我已经在 Django 中安装了 UnaccentExtension 但在使用它进行搜索时遇到问题 vector SearchVector title unaccent abstract unaccent query SearchQuery
  • PHPMailer IsHTML(true) 不起作用

    我正在尝试从 PHPMailer 发送电子邮件 一切正常 但问题是 即使在写入后 它也会随 HTML 标签一起发送电子邮件 mail gt IsHTML true 下面是我发送电子邮件的代码 mail new PHPMailer mail
  • 在 bash 中清理 $PATH [关闭]

    Closed 这个问题是无关 目前不接受答案 我的路径有很多很久以前通过脚本添加的条目 他们不在我的 bashrc bash profile or bash login 我担心重置我的路径 bashrc将会产生不良的长期结果 有没有办法找到
  • Droid:如何以编程方式重新排序线性布局内容?

    我有一个带有按钮列表的滚动视图 我希望在第一次使用应用程序时将说明放在此列表的开头 但在用户使用一次后将说明移至屏幕末尾 因为实际上不再需要说明 但我仍然想要他们可以访问 我不知道从哪里开始 编辑 根据要求提供不同的解释 我的主要布局有一张
  • JQ 如何将多个对象合并为一个

    给定以下输入 这是输出的简化版本 包含另一个复杂查询的 100K 对象 echo a b c d e a b f d g jq a b c d e a b f d g 期望的输出 c e f g 或 更适合后续使用 x c e f g 我一
  • PyQt。如何在 QTableView 中插入小部件

    这里有张桌子 tab QTableView sti QStandardItemModel parent None sti appendRow QStandardItem str 1 QStandardItem str 2 QStandard
  • 如何将 UTF-8 byte[] 转换为字符串

    我有一个byte 从我碰巧知道的文件加载的数组包含UTF 8 在一些调试代码中 我需要将其转换为字符串 有没有一个单行线可以做到这一点 在幕后 它应该只是一个分配和一个memcopy 所以即使没有实现 也应该是可以的 string resu
  • 如何在不进行模运算的情况下将 Java BigInteger 提高到 BigInteger 的幂?

    我正在做一些大整数计算 我需要将一个 BigInteger 提高到另一个 BigInteger 的幂 pow 方法执行我想要的操作 但采用 int 值作为参数 modPow 方法采用 BigInteger 作为参数 但我不希望答案与我尝试计
  • node.js 上缺少由 throw() 生成的 uncaughtException 的堆栈跟踪

    我正在尝试捕获 node js uncaughtException 的堆栈跟踪 它对于不同的错误都可以正常工作 但对于 throw 语句却不起作用 异常处理的正确堆栈跟踪 cat errorFunc js process on uncaug
  • 如何清除VS代码中的终端命令历史记录?

    在 VS Code Powershell 终端中 即使在重新启动后 您也只需按向上和向下箭头键即可浏览输入命令的历史记录 然而 当输入相同的命令时 它还会循环浏览这些重复的历史记录 而不仅仅是使它们不同 从而很难找到循环回某些旧历史记录 有
  • 敏感数据:NSString VS NSMutableString (iPhone)

    我有一些敏感数据想在使用后直接清除 目前 敏感数据都是NSString的形式 根据我的理解 NSString 是不可变的 这意味着我无法真正清除数据 不过 NSMutableString 似乎更合适 因为它是可变的 并且具有诸如replac