mirror of
https://github.com/Lost-MSth/Arcaea-server.git
synced 2025-12-14 08:06:23 +08:00
- For Arcaea 5.10.1(c) - Add support for Link Play 2.0. - New partners "Luna & Ilot" and "Eto & Hoppe" - Add support for the skill of "Eto & Hoppe". - Add support for refreshing ratings of Recent 30 via API and webpage. Note: This is a bug testing version.
25 lines
760 B
Python
25 lines
760 B
Python
from os import urandom
|
|
from cryptography.hazmat.primitives.ciphers import (
|
|
Cipher, algorithms, modes
|
|
)
|
|
|
|
|
|
def encrypt(key, plaintext, associated_data):
|
|
iv = urandom(12)
|
|
encryptor = Cipher(
|
|
algorithms.AES(key),
|
|
modes.GCM(iv, min_tag_length=16),
|
|
).encryptor()
|
|
encryptor.authenticate_additional_data(associated_data)
|
|
ciphertext = encryptor.update(plaintext) + encryptor.finalize()
|
|
return (iv, ciphertext, encryptor.tag)
|
|
|
|
|
|
def decrypt(key, associated_data, iv, ciphertext, tag):
|
|
decryptor = Cipher(
|
|
algorithms.AES(key),
|
|
modes.GCM(iv, tag, min_tag_length=16),
|
|
).decryptor()
|
|
decryptor.authenticate_additional_data(associated_data)
|
|
return decryptor.update(ciphertext) + decryptor.finalize()
|