public class SecureRandom {
public init(priv!: Bool = false)
} 功能:用于生成加密安全的伪随机数。
和 Random 相比,主要有三个方面不同:
随机数种子: Random 使用系统时钟作为默认的种子,时间戳一样,结果就相同;SecureRandom 使用操作系统或者硬件提供的随机数种子,生成的是真随机数。
随机数生成: Random 使用了梅森旋转伪随机生成器;SecureRandom 则使用了 openssl 库提供的 MD5 等随机算法,使用熵源生成真随机数;如果硬件支持,还可以使用硬件随机数生成器来生成安全性更强的随机数。
安全性: Random 不能用于加密安全的应用或者隐私数据的保护,可以使用 SecureRandom。
public init(priv!: Bool = false)
功能:创建 SecureRandom 实例,可指定是否使用更加安全的加密安全伪随机生成器,加密安全伪随机生成器可用于会话密钥和证书私钥等加密场景。
参数:
public func nextBool(): Bool
功能:获取一个随机的 Bool 类型实例。
返回值:
异常:
public func nextBytes(length: Int32): Array<Byte>
功能:获取一个指定长度的随机字节的数组。
参数:
返回值:
异常:
public func nextFloat16(): Float16
功能:获取一个 Float16 类型且在区间 [0.0, 1.0) 内的随机数。
返回值:
异常:
public func nextFloat32(): Float32
功能:获取一个 Float32 类型且在区间 [0.0, 1.0) 内的随机数。
返回值:
异常:
public func nextFloat64(): Float64
功能:获取一个 Float64 类型且在区间 [0.0, 1.0) 内的随机数。
返回值:
异常:
public func nextGaussianFloat16(mean!: Float16 = 0.0, sigma!: Float16 = 1.0): Float16
功能:默认获取一个 Float16 类型且符合均值为 0.0 标准差为 1.0 的高斯分布的随机数,其中均值是期望值,可解释为位置参数,决定了分布的位置,标准差可解释为尺度参数,决定了分布的幅度。
参数:
返回值:
异常:
public func nextGaussianFloat32(mean!: Float32 = 0.0, sigma!: Float32 = 1.0): Float32
功能:默认获取一个 Float32 类型且符合均值为 0.0 标准差为 1.0 的高斯分布的随机数,其中均值是期望值,可解释为位置参数,决定了分布的位置,标准差可解释为尺度参数,决定了分布的幅度。
参数:
返回值:
异常:
public func nextGaussianFloat64(mean!: Float64 = 0.0, sigma!: Float64 = 1.0): Float64
功能:默认获取一个 Float64 类型且符合均值为 0.0 标准差为 1.0 的高斯分布的随机数,其中均值是期望值,可解释为位置参数,决定了分布的位置,标准差可解释为尺度参数,决定了分布的幅度。
参数:
返回值:
异常:
public func nextInt16(): Int16
功能:获取一个 Int16 类型的随机数。
返回值:
异常:
public func nextInt32(): Int32
功能:获取一个 Int32 类型的随机数。
返回值:
异常:
public func nextInt16(max: Int16): Int16
功能:获取一个 Int16 类型且在区间 [0, max) 内的随机数。
参数:
返回值:
异常:
public func nextInt32(max: Int32): Int32
功能:获取一个 Int32 类型且在区间 [0, max) 内的随机数。
参数:
返回值:
异常:
public func nextInt64(): Int64
功能:获取一个 Int64 类型的随机数。
返回值:
异常:
public func nextInt64(max: Int64): Int64
功能:获取一个 Int64 类型且在区间 [0, max) 内的随机数。
参数:
返回值:
异常:
public func nextInt8(): Int8
功能:获取一个 Int8 类型的随机数。
返回值:
异常:
public func nextInt8(max: Int8): Int8
功能:获取一个 Int8 类型且在区间 [0, max) 内的随机数。
参数:
返回值:
异常:
public func nextUInt16(): UInt16
功能:获取一个 UInt16 类型的随机数。
返回值:
异常:
public func nextUInt16(max: UInt16): UInt16
功能:获取一个 UInt16 类型且在区间 [0, max) 内的随机数。
参数:
返回值:
异常:
public func nextUInt32(): UInt32
功能:获取一个 UInt32 类型的随机数。
返回值:
异常:
public func nextUInt32(max: UInt32): UInt32
功能:获取一个 UInt32 类型且在区间 [0, max) 内的随机数。
参数:
返回值:
异常:
public func nextUInt64(): UInt64
功能:获取一个 UInt64 类型的随机数。
返回值:
异常:
public func nextUInt64(max: UInt64): UInt64
功能:获取一个 UInt64 类型且在区间 [0, max) 内的随机数。
参数:
返回值:
异常:
public func nextUInt8(): UInt8
功能:获取一个 UInt8 类型的随机数。
返回值:
异常:
public func nextUInt8(max: UInt8): UInt8
功能:获取一个 UInt8 类型且在区间 [0, max) 内的随机数。
参数:
返回值:
异常: