Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Шифратор и дешифратор scratch

Семён Сманцерев Ученик (200), на голосовании 1 год назад
мне нужно хранить текст в облачной переменной scratch но так как там можно хранить только цифры мне нужен шифратор и дешифратор. Можете кто-то создать спрайт с кодом или написать как этот код сделать не могу найти решение в интернете, ничего не работает
Голосование за лучший ответ
Влад Канаев Профи (741) 1 год назад
Вы можете использовать алгоритм шифрования, такой как AES (Advanced Encryption Standard), для шифрования текста перед сохранением его в облачной переменной Scratch. Затем, когда вы хотите получить доступ к тексту, вы можете использовать тот же алгоритм для дешифрования данных.

Вот пример простого дешифратора и шифратора на Python:
```
import base64
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
from cryptography.fernet import Fernet
import os

def encrypt(text):
key = Fernet.generate_key()
f = Fernet(key=key)
encrypted = f.encrypt(text.encode())
return base64.b64encode(encrypted)

def decrypt(encrypted):
with open(os.path.join(os.getcwd(), 'key.pem'), 'wb') as key:
key.write(base64.urlsafe_b64decode(encrypted))
with open('key.pem', 'rb') as key:
Семён Сманцерев Ученик (200) 1 год назад
Влад Канаев Профи (741) Семён Сманцерев , ``` from cryptography.hazmat.primatives.ciphers.aead import AESGCM from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primatives import hashes from cryptography import fernet from base64 import urlsafe_b64encode, urlsafe_b64decode key = b"your-encryption-key" iv = bytes(16) cipher = AESGCM(key) encryptor = cipher.encryptor() def encode(text): encoded_text = urlsafe_b64encode(encryptor.update(text.encode())) if iv: encoded_text += urlsafe_b64encode(iv) return encoded_text def decode(text): decoded_text = urlsafe_b64decode(text) if len(decoded_text) == len(key): iv = decoded_text[len(key):] decoded_text = decoded_text[:len(key)] decrypted_text = decryptor.
Влад КанаевПрофи (741) 1 год назад
Щас погодите не весь код написал
Похожие вопросы