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")