Linux jobworks 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:53:05 UTC 2026 x86_64
Apache/2.4.58 (Ubuntu)
Server IP : 10.0.1.5 & Your IP : 216.73.217.52
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
twisted /
python /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2026-06-04 06:40
_pydoctortemplates
[ DIR ]
drwxr-xr-x
2026-06-04 06:40
test
[ DIR ]
drwxr-xr-x
2026-06-04 06:40
__init__.py
598
B
-rw-r--r--
2026-05-22 14:58
_appdirs.py
828
B
-rw-r--r--
2026-05-22 14:58
_inotify.py
3.42
KB
-rw-r--r--
2026-05-22 14:58
_release.py
8.57
KB
-rw-r--r--
2026-05-22 14:58
_shellcomp.py
24.68
KB
-rw-r--r--
2026-05-22 14:58
_textattributes.py
8.88
KB
-rw-r--r--
2026-05-22 14:58
_tzhelper.py
3.12
KB
-rw-r--r--
2026-05-22 14:58
_url.py
228
B
-rw-r--r--
2026-05-22 14:58
compat.py
16.42
KB
-rw-r--r--
2026-05-22 14:58
components.py
13.87
KB
-rw-r--r--
2026-05-22 14:58
constants.py
460
B
-rw-r--r--
2026-05-22 14:58
context.py
3.96
KB
-rw-r--r--
2026-05-22 14:58
deprecate.py
27.49
KB
-rw-r--r--
2026-05-22 14:58
failure.py
27.43
KB
-rw-r--r--
2026-05-22 14:58
fakepwd.py
6.88
KB
-rw-r--r--
2026-05-22 14:58
filepath.py
58.92
KB
-rw-r--r--
2026-05-22 14:58
formmethod.py
11.82
KB
-rw-r--r--
2026-05-22 14:58
htmlizer.py
3.54
KB
-rw-r--r--
2026-05-22 14:58
lockfile.py
7.79
KB
-rw-r--r--
2026-05-22 14:58
log.py
21.89
KB
-rw-r--r--
2026-05-22 14:58
logfile.py
9.88
KB
-rw-r--r--
2026-05-22 14:58
modules.py
26.21
KB
-rw-r--r--
2026-05-22 14:58
monkey.py
2.23
KB
-rw-r--r--
2026-05-22 14:58
procutils.py
1.34
KB
-rw-r--r--
2026-05-22 14:58
randbytes.py
3.43
KB
-rw-r--r--
2026-05-22 14:58
rebuild.py
6.96
KB
-rw-r--r--
2026-05-22 14:58
reflect.py
20.02
KB
-rw-r--r--
2026-05-22 14:58
release.py
1.08
KB
-rw-r--r--
2026-05-22 14:58
roots.py
7.01
KB
-rw-r--r--
2026-05-22 14:58
runtime.py
5.79
KB
-rw-r--r--
2026-05-22 14:58
sendmsg.py
2.62
KB
-rw-r--r--
2026-05-22 14:58
shortcut.py
2.23
KB
-rw-r--r--
2026-05-22 14:58
syslog.py
3.57
KB
-rw-r--r--
2026-05-22 14:58
systemd.py
5.45
KB
-rw-r--r--
2026-05-22 14:58
text.py
5.28
KB
-rw-r--r--
2026-05-22 14:58
threadable.py
3.25
KB
-rw-r--r--
2026-05-22 14:58
threadpool.py
10.65
KB
-rw-r--r--
2026-05-22 14:58
twisted-completion.zsh
1.34
KB
-rw-r--r--
2026-05-22 14:58
url.py
244
B
-rw-r--r--
2026-05-22 14:58
urlpath.py
8.25
KB
-rw-r--r--
2026-05-22 14:58
usage.py
33.79
KB
-rw-r--r--
2026-05-22 14:58
util.py
26.86
KB
-rw-r--r--
2026-05-22 14:58
versions.py
273
B
-rw-r--r--
2026-05-22 14:58
win32.py
4.66
KB
-rw-r--r--
2026-05-22 14:58
zippath.py
11.99
KB
-rw-r--r--
2026-05-22 14:58
zipstream.py
9.45
KB
-rw-r--r--
2026-05-22 14:58
Save
Rename
# -*- test-case-name: twisted.test.test_randbytes -*- # Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ Cryptographically secure random implementation, with fallback on normal random. """ import os import random import warnings getrandbits = getattr(random, "getrandbits", None) _fromhex = bytes.fromhex class SecureRandomNotAvailable(RuntimeError): """ Exception raised when no secure random algorithm is found. """ class SourceNotAvailable(RuntimeError): """ Internal exception used when a specific random source is not available. """ class RandomFactory: """ Factory providing L{secureRandom} and L{insecureRandom} methods. You shouldn't have to instantiate this class, use the module level functions instead: it is an implementation detail and could be removed or changed arbitrarily. """ # This variable is no longer used, and will eventually be removed. randomSources = () getrandbits = getrandbits def _osUrandom(self, nbytes: int) -> bytes: """ Wrapper around C{os.urandom} that cleanly manage its absence. """ try: return os.urandom(nbytes) except (AttributeError, NotImplementedError) as e: raise SourceNotAvailable(e) def secureRandom(self, nbytes: int, fallback: bool = False) -> bytes: """ Return a number of secure random bytes. @param nbytes: number of bytes to generate. @type nbytes: C{int} @param fallback: Whether the function should fallback on non-secure random or not. Default to C{False}. @type fallback: C{bool} @return: a string of random bytes. @rtype: C{str} """ try: return self._osUrandom(nbytes) except SourceNotAvailable: pass if fallback: warnings.warn( "urandom unavailable - " "proceeding with non-cryptographically secure random source", category=RuntimeWarning, stacklevel=2, ) return self.insecureRandom(nbytes) else: raise SecureRandomNotAvailable("No secure random source available") def _randBits(self, nbytes: int) -> bytes: """ Wrapper around C{os.getrandbits}. """ if self.getrandbits is not None: n = self.getrandbits(nbytes * 8) hexBytes = ("%%0%dx" % (nbytes * 2)) % n return _fromhex(hexBytes) raise SourceNotAvailable("random.getrandbits is not available") _maketrans = bytes.maketrans _BYTES = _maketrans(b"", b"") def _randModule(self, nbytes: int) -> bytes: """ Wrapper around the C{random} module. """ return b"".join([bytes([random.choice(self._BYTES)]) for i in range(nbytes)]) def insecureRandom(self, nbytes: int) -> bytes: """ Return a number of non secure random bytes. @param nbytes: number of bytes to generate. @type nbytes: C{int} @return: a string of random bytes. @rtype: C{str} """ try: return self._randBits(nbytes) except SourceNotAvailable: pass return self._randModule(nbytes) factory = RandomFactory() secureRandom = factory.secureRandom insecureRandom = factory.insecureRandom del factory __all__ = ["secureRandom", "insecureRandom", "SecureRandomNotAvailable"]