gpt4 book ai didi

ios - 在 Swift 4 中从字符串对象创建 CFData 对象

转载 作者:行者123 更新时间:2023-11-28 10:40:31 24 4
gpt4 key购买 nike

根据 GDPR 要求,我使用 Apple 内置的“安全”模块来帮助加密和解密信息。我能够使用文档相当轻松地生成我的私钥和公钥。

我现在发现自己的问题是在尝试进行加密时。在我关注的 Apple 文档中(找到 here ),我能够进入 SecKeyCreateEncryptedData 函数步骤。我在“plainText as CFData”这一行遇到错误。简而言之,我从 UITextField 接收一个 String 对象,并通过在我的 UITextField 对象后添加“.text”来正确检索输入文本。

当您执行此操作时,Xcode 会尖叫说必须使用“as!”强制向下转型 String 对象。如果我们想要它作为 CFData。所以我遵守了Xcode,所有的一切都表明这是行不通的。我在文档显示“plainText as CFData”的行中得到“Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)”。当我通过调试器查看它时,它是一大堆汇编,老实说,这超出了我的范围。

无论如何,这让我感到困惑,因为如果字符串不是文档所指的纯文本,那么什么是?我的直觉只是告诉我研究一下 Swift 中的 CFData 是什么,这样我就可以将我的 String 对象转换/创建到 CFData 对象中,然后简单地将其传递到参数中,而不需要在函数中转换它。那个搜索让我 here ,然后我找到了我认为是好的解决方案 here .现在,我可能错了,这是一个很好的解决方法,但这是我目前能想到的。我现在被卡住了,试图找出我传递给 CFDataCreate 函数的参数。我理解这些类型,但是没有任何真正的例子(甚至在文档中也没有),我只是不知道如何获取它,或者传递什么,以及如何以它需要的正确格式获取我的 String 对象.

感谢您的帮助,如果您有任何问题,请提问

最佳答案

在加密语言中,“明文”是指“未加密的数据”。它不一定是人类可读的文本。

您可以像这样将 String 转换为 CFData:

let string = "Hello, world!"
let data = string.data(using: .utf8)! as CFData

关于ios - 在 Swift 4 中从字符串对象创建 CFData 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50659048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com