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
}


我正在尝试以上述方式创建安全随机数,但什么也没有返回,请问有人可以帮助我。谢谢。

最佳答案

看来您使用的是错误的功能。使用您的功能,您将生成一个新密钥。但是正如您的标题所述,您想生成安全的随机数。
为此,有一个名为: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

关于swift - 使用Swift在iOS中创建安全随机数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50746833/

10-13 03:59