AutoRpa/rpa_selection/tests/test_decrypt.py

22 lines
653 B
Python

from __future__ import annotations
import base64
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
from search_yaoex import build_yaoex_price_decrypt_key, decrypt_yaoex_price
def test_decrypt_plain_number_passthrough():
assert decrypt_yaoex_price(12.5, "123") == 12.5
assert decrypt_yaoex_price("33.0", "123") == 33.0
def test_decrypt_aes_ciphertext():
user_id = "123456789"
key = build_yaoex_price_decrypt_key(user_id)
cipher = AES.new(key, AES.MODE_ECB)
encrypted = base64.b64encode(cipher.encrypt(pad(b"88.5", AES.block_size))).decode("utf-8")
assert decrypt_yaoex_price(encrypted, user_id) == 88.5