Seeds random generator with data.
        If entropy is not None, it should be floating point(double)
        value estimating amount of entropy  in the data (in bytes).

def seed(data, entropy=None):
    """
        Seeds random generator with data.
        If entropy is not None, it should be floating point(double)
        value estimating amount of entropy  in the data (in bytes).
    """
    if not isinstance(data, bintype):
        raise TypeError("A string is expected")
    ptr = c_char_p(data)
    size = len(data)
    if entropy is None:
        libcrypto.RAND_seed(ptr, size)
    else:
        libcrypto.RAND_add(ptr, size, entropy)