Created time
Sep 30, 2022 04:02 PM
date
status
category
Origin
summary
tags
type
URL
icon
password
slug
package rand 实现了用于加解密的更安全的随机数生成器。
Variables
Reader是一个全局、共享的密码用强随机数生成器。在Unix类型系统中,会从
/dev/urandom
读取;而Windows中会调用CryptGenRandom API
。func Int
返回一个在[0, max)区间服从均匀分布的随机值,如果max<=0则会panic。
func Prime
返回一个具有指定字位数的数字,该数字具有很高可能性是质数。如果从rand读取时出错,或者bits<2会返回错误。
如果位数小于2的话,会报错:
func Read
本函数是一个使用
io.ReadFull
调用Reader.Read
的辅助性函数。当且仅当err == nil
时,返回值n == len(b)
。因为本函数是一个使用io.ReadFull调用Reader.Read的辅助性函数,所以最上面的那个生成session ID的例子等价于:
Read Function
简单来说,它读出的数据,并不一定是指定长度的。
ReadFull Function
意思是读取正好len(buf)长度的字节。如果字节数不是指定长度,则返回错误信息和正确的字节数。当没有字节能被读时,返回EOF错误。如果读了一些,但是没读完产生EOF错误时,返回ErrUnexpectedEOF错误。