gpt4 book ai didi

swift - 如何访问 CryptoKit 中 SymmetricKey 的底层 key ?

转载 作者:行者123 更新时间:2023-11-28 07:25:04 29 4
gpt4 key购买 nike

我正在摆弄 Apple 的新 CryptoKit Xcode 11.0 beta 2 上的框架。我想创建一个 SymmetricKey ,然后获取 key 的原始字节。我想使用这些字节来创建相同的 key ,然后检查以确保 key 相等。根据我在文档中的理解,访问 key 原始字节的唯一方法是使用 withUnsafeBytes(_:)方法。我有一个带有以下代码的 Playground :

import Foundation
import CryptoKit

let key1 = SymmetricKey(size: .bits256)
key1.withUnsafeBytes { body in
let rawKeyBytes = body.load(as: Data.self)
let key2 = SymmetricKey(data: rawKeyBytes)
print("Are they equal? \(key1 == key2)")
}

输出是 它们相等吗? false,所以不幸的是键不匹配。假设我可以让这些键匹配,我也不确定如何将 rawKeyBytes 转换为字符串以便在我的 Playground 输出中查看它。总的来说,我对UnsafeRawBufferPointer不是很熟悉。或 ContiguousBytes .

最佳答案

像您所说的那样将一个键与另一个键进行比较是没有意义的。如果要提取 key ,请使用以下简单行:

let keyb64 = key.withUnsafeBytes {
return Data(Array($0)).base64EncodedString()
}

或者删除 base64EncodedString() 仅用于将 Data 发送到服务器或放入钥匙串(keychain)。

最好的问候

关于swift - 如何访问 CryptoKit 中 SymmetricKey 的底层 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56828125/

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