__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
import functools
import hashlib
import unittest
try:
import _hashlib
except ImportError:
_hashlib = None
def requires_hashdigest(digestname, openssl=None, usedforsecurity=True):
"""Decorator raising SkipTest if a hashing algorithm is not available
The hashing algorithm could be missing or blocked by a strict crypto
policy.
If 'openssl' is True, then the decorator checks that OpenSSL provides
the algorithm. Otherwise the check falls back to built-in
implementations. The usedforsecurity flag is passed to the constructor.
ValueError: [digital envelope routines: EVP_DigestInit_ex] disabled for FIPS
ValueError: unsupported hash type md4
"""
def decorator(func_or_class):
if isinstance(func_or_class, type):
setUpClass = func_or_class.__dict__.get('setUpClass')
if setUpClass is None:
def setUpClass(cls):
super(func_or_class, cls).setUpClass()
setUpClass.__qualname__ = func_or_class.__qualname__ + '.setUpClass'
setUpClass.__module__ = func_or_class.__module__
else:
setUpClass = setUpClass.__func__
setUpClass = classmethod(decorator(setUpClass))
func_or_class.setUpClass = setUpClass
return func_or_class
@functools.wraps(func_or_class)
def wrapper(*args, **kwargs):
try:
if openssl and _hashlib is not None:
_hashlib.new(digestname, usedforsecurity=usedforsecurity)
else:
hashlib.new(digestname, usedforsecurity=usedforsecurity)
except ValueError:
raise unittest.SkipTest(
f"hash digest '{digestname}' is not available."
)
return func_or_class(*args, **kwargs)
return wrapper
return decorator
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| _hypothesis_stubs | Folder | 0755 |
|
|
| __init__.py | File | 78.13 KB | 0644 |
|
| ast_helper.py | File | 1.79 KB | 0644 |
|
| asynchat.py | File | 11.33 KB | 0644 |
|
| asyncore.py | File | 19.9 KB | 0644 |
|
| bytecode_helper.py | File | 4.88 KB | 0644 |
|
| hashlib_helper.py | File | 1.86 KB | 0644 |
|
| hypothesis_helper.py | File | 1.35 KB | 0644 |
|
| import_helper.py | File | 10.48 KB | 0644 |
|
| interpreters.py | File | 5.67 KB | 0644 |
|
| logging_helper.py | File | 916 B | 0644 |
|
| os_helper.py | File | 23.72 KB | 0644 |
|
| pty_helper.py | File | 2.98 KB | 0644 |
|
| script_helper.py | File | 11.45 KB | 0644 |
|
| smtpd.py | File | 30.01 KB | 0755 |
|
| socket_helper.py | File | 13.47 KB | 0644 |
|
| testcase.py | File | 1.02 KB | 0644 |
|
| threading_helper.py | File | 7.86 KB | 0644 |
|
| warnings_helper.py | File | 6.69 KB | 0644 |
|