Xcode 11 Swift 5 CryptoKit共享SymmetricKey

问题描述 投票:1回答:1

我开始学习使用CryptoKit进行解密/加密。一切正常,但是我不能共享我生成的SymmetricKey。

示例:

let key = SymmetricKey(size: .bits256)

嗯,我生成一个对称密钥。现在我想共享密钥,但是我该怎么做呢?在调试器中,变量key是否为空?我检查了加密和解密-效果很好-输出显示了加密和解密的数据。如何保存变量key进行分发?

我找到了解决方案:

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

这很好,但是如何将变量savedKey(字符串)保存回变量key(SymmetricKey)呢?

swift xcode share symmetric-key
1个回答
0
投票

您可以通过将密钥字符串转换为Data并从中检索密钥来做到这一点

let key = SymmetricKey(size: .bits256)
let savedKey = key.withUnsafeBytes {Data(Array($0)).base64EncodedString()}

if let keyData = Data(base64Encoded: savedKey) {
    let retrievedKey = SymmetricKey(data: keyData)
}

希望这会有所帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.