def check_salt()

in fxa/crypto.py [0:0]


def check_salt(version, salt):
    if not salt:
        raise ValueError("salt must be provided")

    if not isinstance(salt, str):
        salt = salt.decode("utf8")

    if version == 2:
        if not salt.startswith(SALT_NAMESPACE_V2):
            raise ValueError("invalid salt prefix")
        if not test_salt_token(salt):
            raise ValueError("core of salt must be a 16 byte token " + salt)
    else:
        if not salt.startswith(SALT_NAMESPACE_V1):
            raise ValueError("invalid salt prefix")
        if not test_salt_email(salt):
            raise ValueError("salts must be emails " + salt)

    return salt.encode("utf8")