
    4i                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl	Z	d dl
ZddZd Zd Zd Zdd	Zd
 ZdS )    N)Random0123456789ABCDEFc                     ddl m} t          j        |j                  }t          j        |           }|                    ||j        |          }|S )Nr   )AES)	Crypto.Cipherr   osurandom
block_sizebase64	b64decodenewMODE_CBC)keyivr   bkeyaess        #/home/kali/Ninja/core/Encryption.pyget_encryptionr      sQ    !!!!!!	CN	#	#BC  D
''$b
)
)CJ    c                     |dd         }t          | |          }|                    t          j        |                    }|dd                              d          S Nr      zutf-8)r   decryptr   r   decoder   datar   r   s       r   r   r      sV    	adB
b
!
!C;;v'--..D9G$$$r   c                     |dd         }t          | |          }|                    t          j        |                    }|dd          S )Nr   r   )r   r   r   r   r   s       r   decrypt_filer      sH    	adB
b
!
!C;;v'--..D9r   c                     |dd         }t          | |          }|                    |          }dd l}|                    |dd                    }	 |                    d          }n# t
          $ r |}Y nw xY w|S r   )r   r   gzip
decompressr   	Exception)r   r   r   r   r    s        r   decrypt_bytes_gzipr#   #   s    	adB
b
!
!C;;tDKKK??49%%D{{7##   Ks   A( (A76A7Fc                    |rt          dt          t          |                    z              dd l}dd l}|                                }|                    |d          5 }|                    |           d d d            n# 1 swxY w Y   |                                }t          |          dz  }|dk    r+t          |          d|z
  z   }|                    |d          }t          | t          j        d                    }|j        |                    |                                          z   }|st          j        |          }|S )Nz Gzipping data - pre-zipped len, r   w)fileobjmoder    )printstrlenStringIOr    GzipFilewritegetvalueljustr   r   r	   IVencryptencoder   	b64encode)	r   r   r    r,   outfmodnewlenr   s	            r   r2   r2   0   sf    03s4yy>>ABBB!!]]3S]11 	QGGDMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	||~~ d))b.C
axxTb3h'zz&#&&
bjnn
-
-C6CKK...D &%%Ks   "BBBc                      d                     d t          d          D                       } t          j        t	          | d                                                    }|S )N c                 J    g | ] }t          j        t          j                  !S  )randomchoicestringascii_uppercase).0is     r   
<listcomp>z generate_key.<locals>.<listcomp>G   s%    LLLQ6=!788LLLr       zUTF-8)joinranger   r4   	bytearrayr   )r   Encs     r   generate_keyrI   F   sS    
''LL%))LLL
M
MC

9S'22
3
3
:
:
<
<CJr   )r   )F)r   r   r=   codecsglobreadlinereCryptor   r?   core.configcorer   r   r   r#   r2   rI   r<   r   r   <module>rQ      s    5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5              % % %  
 
 
   ,    r   