1
0

util.randrange: use stdlib 'secrets' module instead of 'python-ecdsa'

This commit is contained in:
SomberNight
2020-11-07 19:26:30 +01:00
parent 1c07777e13
commit 120da2783b

View File

@@ -44,15 +44,15 @@ import ssl
import ipaddress import ipaddress
from ipaddress import IPv4Address, IPv6Address from ipaddress import IPv4Address, IPv6Address
import random import random
import attr import secrets
import attr
import aiohttp import aiohttp
from aiohttp_socks import ProxyConnector, ProxyType from aiohttp_socks import ProxyConnector, ProxyType
import aiorpcx import aiorpcx
from aiorpcx import TaskGroup from aiorpcx import TaskGroup
import certifi import certifi
import dns.resolver import dns.resolver
import ecdsa
from .i18n import _ from .i18n import _
from .logging import get_logger, Logger from .logging import get_logger, Logger
@@ -1306,7 +1306,9 @@ def resolve_dns_srv(host: str):
def randrange(bound: int) -> int: def randrange(bound: int) -> int:
"""Return a random integer k such that 1 <= k < bound, uniformly """Return a random integer k such that 1 <= k < bound, uniformly
distributed across that range.""" distributed across that range."""
return ecdsa.util.randrange(bound) # secrets.randbelow(bound) returns a random int: 0 <= r < bound,
# hence transformations:
return secrets.randbelow(bound - 1) + 1
class CallbackManager: class CallbackManager: