def test_create_modulename(): cdef_source = "cdef sources go here" source = "source code" name = utils._create_modulename(cdef_source, source, "2.7") assert name == "_Cryptography_cffi_bcba7f4bx4a14b588" name = utils._create_modulename(cdef_source, source, "3.2") assert name == "_Cryptography_cffi_a7462526x4a14b588"
mismatch |= Cryptography_constant_time_lt(block_len, pad_size); /* Make sure any bits set are copied to the lowest bit */ mismatch |= mismatch >> 4; mismatch |= mismatch >> 2; mismatch |= mismatch >> 1; /* Now check the low bit to see if it's set */ return (mismatch & 1) == 0; } """ _ffi = cffi.FFI() _ffi.cdef(TYPES) _lib = _ffi.verify( source=FUNCTIONS, modulename=_create_modulename([TYPES], FUNCTIONS, sys.version), ext_package="cryptography", ) class PKCS7(object): def __init__(self, block_size): if not (0 <= block_size < 256): raise ValueError("block_size must be in range(0, 256).") if block_size % 8 != 0: raise ValueError("block_size must be a multiple of 8.") self.block_size = block_size def padder(self):
if (len_a != len_b) { return 0; } for (i = 0; i < len_a; i++) { mismatch |= a[i] ^ b[i]; } /* Make sure any bits set are copied to the lowest bit */ mismatch |= mismatch >> 4; mismatch |= mismatch >> 2; mismatch |= mismatch >> 1; /* Now check the low bit to see if it's set */ return (mismatch & 1) == 0; } """ _ffi = cffi.FFI() _ffi.cdef(TYPES) _lib = _ffi.verify( source=FUNCTIONS, modulename=_create_modulename([TYPES], FUNCTIONS, sys.version), ext_package="cryptography", ) def bytes_eq(a, b): if not isinstance(a, bytes) or not isinstance(b, bytes): raise TypeError("a and b must be bytes.") return _lib.Cryptography_constant_time_bytes_eq(a, len(a), b, len(b)) == 1
mismatch |= ~Cryptography_constant_time_lt(0, pad_size); mismatch |= Cryptography_constant_time_lt(block_len, pad_size); /* Make sure any bits set are copied to the lowest bit */ mismatch |= mismatch >> 4; mismatch |= mismatch >> 2; mismatch |= mismatch >> 1; /* Now check the low bit to see if it's set */ return (mismatch & 1) == 0; } """ _ffi = cffi.FFI() _ffi.cdef(TYPES) _lib = _ffi.verify( source=FUNCTIONS, modulename=_create_modulename([TYPES], FUNCTIONS, sys.version), ext_package="cryptography" ) class PKCS7(object): def __init__(self, block_size): if not (0 <= block_size < 256): raise ValueError("block_size must be in range(0, 256)") if block_size % 8 != 0: raise ValueError("block_size must be a multiple of 8") self.block_size = block_size def padder(self): return _PKCS7PaddingContext(self.block_size)