BaranKanat commited on
Commit
af92e84
·
verified ·
1 Parent(s): f0cd71c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -10
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(text):
15
- pad_len = 16 - len(text) % 16
16
- return text + chr(pad_len) * pad_len
 
 
 
 
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
- padded_text = pad(text)
29
- encrypted_bytes = cipher.encrypt(padded_text.encode('utf-8'))
 
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
- decrypted = cipher.decrypt(encrypted_msg).decode('utf-8')
42
- return unpad(decrypted)
 
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