danhtran2mind commited on
Commit
f1687a9
·
verified ·
1 Parent(s): 2582983

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -2
app.py CHANGED
@@ -26,14 +26,16 @@ def derive_key(custom_key, key_size):
26
  hasher = SHA256.new()
27
  hasher.update(custom_key.encode('utf-8'))
28
  full_hash = hasher.digest()
29
- # Truncate to desired key size (16, 24, or 32 bytes)
30
- return full_hash[:key_size // 8]
31
 
32
  def encrypt_string(plain_text, key, key_size):
33
  """Encrypt a string using AES in CBC mode with specified key size."""
34
  try:
35
  if not plain_text:
36
  return "Error: Please provide text to encrypt."
 
 
37
  derived_key = derive_key(key, key_size)
38
  plain_text_bytes = plain_text.encode('utf-8')
39
  iv = get_random_bytes(AES.block_size)
@@ -49,6 +51,8 @@ def decrypt_string(encrypted_text, key, key_size):
49
  try:
50
  if not encrypted_text:
51
  return "Error: Please provide encrypted text."
 
 
52
  derived_key = derive_key(key, key_size)
53
  raw = base64.b64decode(encrypted_text)
54
  iv = raw[:AES.block_size]
 
26
  hasher = SHA256.new()
27
  hasher.update(custom_key.encode('utf-8'))
28
  full_hash = hasher.digest()
29
+ # Convert key_size to integer before division
30
+ return full_hash[:int(key_size) // 8]
31
 
32
  def encrypt_string(plain_text, key, key_size):
33
  """Encrypt a string using AES in CBC mode with specified key size."""
34
  try:
35
  if not plain_text:
36
  return "Error: Please provide text to encrypt."
37
+ if not key:
38
+ return "Error: Please provide a key."
39
  derived_key = derive_key(key, key_size)
40
  plain_text_bytes = plain_text.encode('utf-8')
41
  iv = get_random_bytes(AES.block_size)
 
51
  try:
52
  if not encrypted_text:
53
  return "Error: Please provide encrypted text."
54
+ if not key:
55
+ return "Error: Please provide a key."
56
  derived_key = derive_key(key, key_size)
57
  raw = base64.b64decode(encrypted_text)
58
  iv = raw[:AES.block_size]