Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -11,13 +11,14 @@ classifier = pipeline("text-classification", model="BaranKanat/BerTurk-SpamSMS")
|
|
11 |
AES_KEY = b"ThisIsASecretKey" # 16-byte (128-bit)
|
12 |
|
13 |
# PKCS7 padding
|
14 |
-
def pad(
|
15 |
-
pad_len = 16 - len(
|
16 |
-
return
|
|
|
|
|
|
|
|
|
17 |
|
18 |
-
def unpad(text):
|
19 |
-
pad_len = ord(text[-1])
|
20 |
-
return text[:-pad_len]
|
21 |
|
22 |
# AES ile şifreleme (CBC mode), BASE64 çıktısı verir
|
23 |
def encrypt(text):
|
@@ -25,10 +26,12 @@ def encrypt(text):
|
|
25 |
raise ValueError("Şifrelenecek metin boş olamaz.")
|
26 |
iv = get_random_bytes(16)
|
27 |
cipher = AES.new(AES_KEY, AES.MODE_CBC, iv)
|
28 |
-
|
29 |
-
|
|
|
30 |
encrypted_message = base64.b64encode(iv + encrypted_bytes).decode('utf-8')
|
31 |
return encrypted_message
|
|
|
32 |
|
33 |
|
34 |
# AES ile şifre çözme (BASE64 giriş)
|
@@ -38,8 +41,9 @@ def decrypt(encrypted_text):
|
|
38 |
iv = encrypted_data[:16]
|
39 |
encrypted_msg = encrypted_data[16:]
|
40 |
cipher = AES.new(AES_KEY, AES.MODE_CBC, iv)
|
41 |
-
|
42 |
-
|
|
|
43 |
except Exception as e:
|
44 |
return f"Hata: {str(e)}"
|
45 |
|
|
|
11 |
AES_KEY = b"ThisIsASecretKey" # 16-byte (128-bit)
|
12 |
|
13 |
# PKCS7 padding
|
14 |
+
def pad(data: bytes) -> bytes:
|
15 |
+
pad_len = 16 - len(data) % 16
|
16 |
+
return data + bytes([pad_len] * pad_len)
|
17 |
+
|
18 |
+
def unpad(data: bytes) -> bytes:
|
19 |
+
pad_len = data[-1]
|
20 |
+
return data[:-pad_len]
|
21 |
|
|
|
|
|
|
|
22 |
|
23 |
# AES ile şifreleme (CBC mode), BASE64 çıktısı verir
|
24 |
def encrypt(text):
|
|
|
26 |
raise ValueError("Şifrelenecek metin boş olamaz.")
|
27 |
iv = get_random_bytes(16)
|
28 |
cipher = AES.new(AES_KEY, AES.MODE_CBC, iv)
|
29 |
+
data_bytes = text.encode('utf-8') # Türkçe karakterleri de destekler
|
30 |
+
padded_data = pad(data_bytes)
|
31 |
+
encrypted_bytes = cipher.encrypt(padded_data)
|
32 |
encrypted_message = base64.b64encode(iv + encrypted_bytes).decode('utf-8')
|
33 |
return encrypted_message
|
34 |
+
|
35 |
|
36 |
|
37 |
# AES ile şifre çözme (BASE64 giriş)
|
|
|
41 |
iv = encrypted_data[:16]
|
42 |
encrypted_msg = encrypted_data[16:]
|
43 |
cipher = AES.new(AES_KEY, AES.MODE_CBC, iv)
|
44 |
+
decrypted_bytes = cipher.decrypt(encrypted_msg)
|
45 |
+
unpadded_bytes = unpad(decrypted_bytes)
|
46 |
+
return unpadded_bytes.decode('utf-8')
|
47 |
except Exception as e:
|
48 |
return f"Hata: {str(e)}"
|
49 |
|