public func createSecureRandomKey(numberOfBits: Int) -> Any {
let attributes: [String: Any] =
[kSecAttrKeyType as String:CFString.self,
kSecAttrKeySizeInBits as String:numberOfBits]
var error: Unmanaged<CFError>?
guard let privateKey = SecKeyCreateRandomKey(attributes as CFDictionary, &error) else {
return ""
}
return privateKey
}
我正在尝试像上面那样创建安全随机数,但什么都不返回,任何人都可以帮助我。感谢。
答案 0 :(得分:0)
您似乎使用了错误的功能。使用您的功能,您将生成一个新密钥。但是正如您的标题所述,您想生成安全的随机数。 为此,有一个函数: SecRandomCopyBytes(::_:)
以下是来自苹果官方文档的代码段,如何使用它:
var bytes = [Int8](repeating: 0, count: 10)
let status = SecRandomCopyBytes(kSecRandomDefault, bytes.count, &bytes)
if status == errSecSuccess { // Always test the status.
print(bytes)
// Prints something different every time you run.
}
来源:Apple doc