PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB` REDROOM
PHP 5.6.40
Preview: crypt.py Size: 3.82 KB
//opt/alt/python311/lib64/python3.11/crypt.py

"""Wrapper to the POSIX crypt library call and associated functionality."""

import sys as _sys

try:
    import _crypt
except ModuleNotFoundError:
    if _sys.platform == 'win32':
        raise ImportError("The crypt module is not supported on Windows")
    else:
        raise ImportError("The required _crypt module was not built as part of CPython")

import errno
import string as _string
import warnings
from random import SystemRandom as _SystemRandom
from collections import namedtuple as _namedtuple


warnings._deprecated(__name__, remove=(3, 13))


_saltchars = _string.ascii_letters + _string.digits + './'
_sr = _SystemRandom()


class _Method(_namedtuple('_Method', 'name ident salt_chars total_size')):

    """Class representing a salt method per the Modular Crypt Format or the
    legacy 2-character crypt method."""

    def __repr__(self):
        return '<crypt.METHOD_{}>'.format(self.name)


def mksalt(method=None, *, rounds=None):
    """Generate a salt for the specified method.

    If not specified, the strongest available method will be used.

    """
    if method is None:
        method = methods[0]
    if rounds is not None and not isinstance(rounds, int):
        raise TypeError(f'{rounds.__class__.__name__} object cannot be '
                        f'interpreted as an integer')
    if not method.ident:  # traditional
        s = ''
    else:  # modular
        s = f'${method.ident}$'

    if method.ident and method.ident[0] == '2':  # Blowfish variants
        if rounds is None:
            log_rounds = 12
        else:
            log_rounds = int.bit_length(rounds-1)
            if rounds != 1 << log_rounds:
                raise ValueError('rounds must be a power of 2')
            if not 4 <= log_rounds <= 31:
                raise ValueError('rounds out of the range 2**4 to 2**31')
        s += f'{log_rounds:02d}$'
    elif method.ident in ('5', '6'):  # SHA-2
        if rounds is not None:
            if not 1000 <= rounds <= 999_999_999:
                raise ValueError('rounds out of the range 1000 to 999_999_999')
            s += f'rounds={rounds}$'
    elif rounds is not None:
        raise ValueError(f"{method} doesn't support the rounds argument")

    s += ''.join(_sr.choice(_saltchars) for char in range(method.salt_chars))
    return s


def crypt(word, salt=None):
    """Return a string representing the one-way hash of a password, with a salt
    prepended.

    If ``salt`` is not specified or is ``None``, the strongest
    available method will be selected and a salt generated.  Otherwise,
    ``salt`` may be one of the ``crypt.METHOD_*`` values, or a string as
    returned by ``crypt.mksalt()``.

    """
    if salt is None or isinstance(salt, _Method):
        salt = mksalt(salt)
    return _crypt.crypt(word, salt)


#  available salting/crypto methods
methods = []

def _add_method(name, *args, rounds=None):
    method = _Method(name, *args)
    globals()['METHOD_' + name] = method
    salt = mksalt(method, rounds=rounds)
    result = None
    try:
        result = crypt('', salt)
    except OSError as e:
        # Not all libc libraries support all encryption methods.
        if e.errno in {errno.EINVAL, errno.EPERM, errno.ENOSYS}:
            return False
        raise
    if result and len(result) == method.total_size:
        methods.append(method)
        return True
    return False

_add_method('SHA512', '6', 16, 106)
_add_method('SHA256', '5', 16, 63)

# Choose the strongest supported version of Blowfish hashing.
# Early versions have flaws.  Version 'a' fixes flaws of
# the initial implementation, 'b' fixes flaws of 'a'.
# 'y' is the same as 'b', for compatibility
# with openwall crypt_blowfish.
for _v in 'b', 'y', 'a', '':
    if _add_method('BLOWFISH', '2' + _v, 22, 59 + len(_v), rounds=1<<4):
        break

_add_method('MD5', '1', 8, 34)
_add_method('CRYPT', None, 2, 13)

del _v, _add_method

Directory Contents

Dirs: 32 × Files: 169

Name Size Perms Modified Actions
asyncio DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
ctypes DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
curses DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
dbm DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
distutils DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
email DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
encodings DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
ensurepip DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
html DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
http DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
importlib DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
json DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
lib2to3 DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
logging DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
re DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
sqlite3 DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
tomllib DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
unittest DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
urllib DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
venv DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
wsgiref DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
xml DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
xmlrpc DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
zoneinfo DIR
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
- drwxr-xr-x 2025-04-06 18:15:10
Edit Download
6.38 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
33.41 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
500 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download
97.93 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
60.00 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
11.30 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
19.83 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
20.55 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
31.70 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
3.06 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
11.57 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
24.15 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
33.63 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
12.13 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.37 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
14.52 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
10.37 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
36.28 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.77 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
3.97 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
19.78 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
54.36 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
26.77 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
129 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download
8.48 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
7.50 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
6.21 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
3.82 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
15.65 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
57.10 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
89.68 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
320 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download
81.36 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
28.23 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
103.81 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
77.72 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
9.94 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
15.35 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.86 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
28.00 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
34.98 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
37.51 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
4.86 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
7.31 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.85 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
20.82 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
8.53 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
9.43 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
23.51 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
11.49 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
22.48 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
7.54 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
53.58 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
3.86 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
10.36 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
120.53 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
4.22 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
73.32 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
1.04 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
13.61 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.52 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
77.24 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
12.97 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
76.98 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
9.15 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
22.42 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
23.14 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
6.77 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
40.12 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
29.51 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
2.82 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
10.11 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
10.20 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
10.71 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
58.95 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
38.60 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
47.43 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
62.68 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
63.61 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
91.66 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
8.77 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
24.06 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
41.30 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
27.69 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
14.84 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
16.61 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
24.01 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
22.36 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
28.67 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
6.17 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
11.13 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
110.02 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
7.65 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
11.23 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
7.11 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
31.41 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.31 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
7.64 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
12.85 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
6.20 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
1.98 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
19.21 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
8.36 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
13.18 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
55.19 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
2.44 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
22.45 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
30.44 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
44.37 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
7.27 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
36.46 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
26.94 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
231 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download
232 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download
229 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download
53.03 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.36 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
46.59 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
11.51 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
12.61 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
257 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download
86.65 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
18.05 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
10.13 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
29.60 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
11.05 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
103.86 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
22.75 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
31.13 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
19.26 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
1003 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download
56.87 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
13.21 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
2.33 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
25.72 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
28.51 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
39.60 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
17.62 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
879 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download
9.83 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
118.12 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
7.17 KB lrw-r--r-- 2024-04-17 18:53:50
Edit Download
26.95 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
20.62 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
21.31 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
21.01 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
24.56 KB lrwxr-xr-x 2024-04-02 08:25:04
Edit Download
5.84 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
7.36 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
91.46 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
30.17 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
3.31 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
2.61 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
29.49 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
8.56 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.55 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
14.31 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
21.51 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
223.83 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
91.99 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
6.04 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
3.05 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
24.58 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
56.44 KB lrw-r--r-- 2024-04-17 18:33:53
Edit Download
57.20 KB lrw-r--r-- 2024-04-17 18:53:00
Edit Download
7.05 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.75 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
5.10 KB lrw-r--r-- 2024-04-02 08:25:04
Edit Download
227 B lrw-r--r-- 2024-04-02 08:25:04
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 REDROOM — Secure File Manager. All rights reserved. Built with ❤️ & Red Dark UI