Ejemplo n.º 1
0
def test_crypto_generichash_blake2b_salt_personal_too_short(key, salt):
    with pytest.raises(AssertionError):
        crypto_generichash_blake2b_salt_personal(
            in_=None,
            key=key,
            salt=salt,
            personal=b'x',
        )
Ejemplo n.º 2
0
def test_crypto_generichash_blake2b_salt_personal_too_short(key, salt):
    with pytest.raises(AssertionError):
        crypto_generichash_blake2b_salt_personal(
            in_=None,
            key=key,
            salt=salt,
            personal=b'x',
        )
Ejemplo n.º 3
0
def test_crypto_generichash_blake2b_salt_invalid_outlen(key, salt, personal):
    with pytest.raises(AssertionError):
        crypto_generichash_blake2b_salt_personal(
            in_=None,
            key=key,
            salt=salt,
            personal=personal,
            outlen=1,
        )
Ejemplo n.º 4
0
def test_crypto_generichash_blake2b_salt_invalid_outlen(key, salt, personal):
    with pytest.raises(AssertionError):
        crypto_generichash_blake2b_salt_personal(
            in_=None,
            key=key,
            salt=salt,
            personal=personal,
            outlen=1,
        )
Ejemplo n.º 5
0
def test_crypto_generichash_blake2b_salt(key, salt):
    out = crypto_generichash_blake2b_salt_personal(
        in_=None,
        key=key,
        salt=salt,
        personal=None,
    )
    assert isinstance(out, binary_type)
    assert len(out) == crypto_generichash_blake2b_BYTES
Ejemplo n.º 6
0
def test_crypto_generichash_blake2b_salt(key, salt):
    out = crypto_generichash_blake2b_salt_personal(
        in_=None,
        key=key,
        salt=salt,
        personal=None,
    )
    assert isinstance(out, binary_type)
    assert len(out) == crypto_generichash_blake2b_BYTES
Ejemplo n.º 7
0
def generate_hash(shared_secret, salt, identifier):
    """
    Generate a secure hash for shared-secret checking purposes.
    """
    assert len(identifier) <= 16, "identifier can't exceed 16 bytes"

    personal = identifier + b'-' * (16 - len(identifier))

    return crypto_generichash_blake2b_salt_personal(
        in_=None,
        key=shared_secret,
        salt=salt,
        personal=personal,
    )