package internal import ( "errors" "time" ) const ( MinEntropyInputLength = 256 >> 3 // 最小熵阈值256比特 MaxEntropyInputLength = (1 << 35) >> 3 // 最大熵阈值2^35比特 ) // 可能返回的错误 var ( ErrNeedReseed = errors.New("[drng] - need reseed") ErrReturnedBitsTooLong = errors.New("[drng] - requested number of bits too long") ErrEntropyLength = errors.New("[drng] - entropy length too short or too long") ) // 安全级别 type SecureLevel uint const ( SecureLevel1 SecureLevel = 1 + iota SecureLevel2 ) type DrngConfig struct { Seedlen int Outlen int ReseedIntervalInTime time.Duration // 重播种时间阈值 ReseedIntervalInCounter int // 重播种计数器阈值 MinEntropy int64 MinEntropyInputLength int64 MaxEntropyInputLength int64 }