INNER CODE UNIT · Python
get_cli_args
stratumauth/app · extra/decrypt_backup.py:40
def get_cli_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Decrypt Stratum backup")
parser.add_argument("path", metavar="p", type=str, help="Path to file to decrypt")
parser.add_argument("--password", type=str, help="Backup password")
return parser.parse_args()
def decrypt(data: bytes, password: str) -> bytes:
salt = data[len(HEADER) : len(HEADER) + SALT_LENGTH]
iv = data[len(HEADER) + SALT_LENGTH : len(HEADER) + SALT_LENGTH + IV_LENGTH]
payload = data[len(HEADER) + SALT_LENGTH + IV_LENGTH :]
password_bytes = password.encode("utf-8")
key = argon2.low_level.hash_secret_raw(
password_bytes,
salt,