Для всех, кому интересно, я решил использовать кодирование / декодирование, чтобы скрыть значение sv
от пользователей.
Я воспользовался советом Мартина Питера, чтобы скрыть значение, а не шифровать его: Простой способ кодирования строки в соответствии с паролем?
import zlib
from base64 import urlsafe_b64encode as b64e, urlsafe_b64decode as b64d
def obscure(data: bytes) -> bytes:
return b64e(zlib.compress(data, 9))
def unobscure(obscured: bytes) -> bytes:
return zlib.decompress(b64d(obscured))
где эта ссылка отправляется пользователю:
link = 'https://localhost:8000/savings?sv=' + bytes.decode(obscure(str.encode(amount)))
, который затем декодируется при нажатии на ссылку:
@onboard.route('/savings', methods=['GET', 'POST'])
def savings():
savings = request.args.get('sv')
savings = str.encode(savings)
savings = unobscure(savings)
savings = bytes.decode(savings)
return render_template('onboard/savings.html', savings=savings)