【发布时间】:2017-10-02 07:44:20
【问题描述】:
如何在 iOS Swift 3 中将字符串转换为 32 字节的数据或 NSData。
我有这样的钥匙:
let keyString = "hpXa6pTJOWDAClC/J6POVTjvJpMIiPAMQiTMjBrcOGw="
并测试此代码以转换为数据:
let keyData: Data = keyString.data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))!
let keyLength = keyData.count //44
密钥长度为 44。
我需要使用 32 进行转换,因为在这种情况下,有效的密钥字节数应该等于:16 或 24 或 32:
let validKeyLengths = [kCCKeySizeAES128, kCCKeySizeAES192, kCCKeySizeAES256]
【问题讨论】:
-
您的密钥字符串长度为 44。
-
String.Encoding(rawValue: String.Encoding.utf8.rawValue)与String.Encoding.utf8相同 -
...或者在这种情况下,只是
.utf8
标签: ios swift aes nsdata encode