Skip to content

Commit 2a992f4

Browse files
authored
new version
1 parent 0d70555 commit 2a992f4

File tree

1 file changed

+47
-35
lines changed

1 file changed

+47
-35
lines changed

joncrypt.py

Lines changed: 47 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,34 @@
11
"""
22
Author: darkao
33
Date: 05.08.2021
4+
v2 Update: 20.08.2021
45
56
TR
67
7-
Bu modül, herhangi bir dosyayı şifrelemek içindir. Fernet AES-128 algoritmasını kullanmaktadır. Kullanımından dolayı doğacabilecek olan zarardan geliştirici sorumlu tutulamaz. Eğitim amaçlıdır.
8+
Bu modül, herhangi bir dosyayı/dosyaları şifrelemek içindir. Fernet AES-128 algoritmasını kullanmaktadır. Kullanımından dolayı doğacabilecek olan zarardan geliştirici sorumlu tutlamaz. Eğitim amaçlıdır.
89
910
Kullanım:
10-
- python joncrpyt.py -e 'şifrelemek için' ya da -d 'deşifrelemek için' -f [dosya_yolu] -k [anahtar]
11+
- python joncrpyt.py -e 'şifrelemek için' ya da -d 'deşifrelemek için' [dosya_yolu] -p [şifre]
1112
12-
*** Şifreliyici anahtarı lütfen not alınız aksi takdirde dosyanıza bir daha erişemeyebilirsiniz.
13+
*** Şifreliyici anahtarı lütfen not alınız aksi takdirde dosyalarınıza bir daha erişemeyebilirsiniz.
1314
"""
1415

1516
"""
1617
ENG
1718
18-
This module is for encrypting any file. It uses the fernet AES-128 algorithm. The developer cannot be held responsible for any damage that may arise from its use. Education purpose only.
19+
This module is for encrypting any file/files. It uses the fernet AES-128 algorithm. The developer cannot be held responsible for any damage that may arise from its use. Education purpose only.
1920
2021
Usage:
21-
- python joncrpyt.py -e 'for encryption' or -d 'for decryption' -f [file_destination] -k [key]
22+
- python joncrpyt.py -e 'for encryption' or -d 'for decryption' [file_destination] -p [password]
2223
23-
*** Please make a note of the encryption key, otherwise you may not be able to access your file again.
24+
*** Please take a note of the encryption password, otherwise you may not be able to access your files again.
2425
"""
2526

2627
from cryptography.fernet import Fernet
2728
import base64, hashlib, os, argparse
2829

29-
3030
def encrypt(filename, key):
31+
extension = ".jcrypt"
3132
try:
3233
f = Fernet(key)
3334
with open(filename, "rb") as file:
@@ -38,10 +39,11 @@ def encrypt(filename, key):
3839
# write the encrypted file
3940
with open(filename, "wb") as file:
4041
file.write(encrypted_data)
41-
os.rename(filename, filename+ ".jcrypt")
42+
os.rename(filename, filename+ extension)
4243
print("its done! "+ filename + " was successfuly encrypted.")
43-
except:
44-
print("Error!")
44+
except Exception as e:
45+
print(e)
46+
quit()
4547

4648
def decrypt(filename, key):
4749
try:
@@ -55,8 +57,9 @@ def decrypt(filename, key):
5557
file.write(decrypted_data)
5658
os.rename(filename, os.path.splitext(filename)[0])
5759
print("its done! "+ filename + " was successfuly decrypted.")
58-
except:
59-
print ("Error!")
60+
except Exception as e:
61+
print(e)
62+
quit()
6063

6164

6265

@@ -67,7 +70,7 @@ def banner():
6770
_ | |/ _ \| '_ \| | | '__| | | | '_ \| __|
6871
| |_| | (_) | | | | |___| | | |_| | |_) | |_
6972
\___/ \___/|_| |_|\____|_| \__, | .__/ \__|
70-
|___/|_|
73+
|___/|_| v2
7174
7275
7376
Author: https://github.com/darkao/
@@ -78,33 +81,42 @@ def main():
7881
banner()
7982
parser = argparse.ArgumentParser()
8083

81-
parser.add_argument("--encrypt","-e", nargs='?',const='arg_was_not_given', help="For encryption")
82-
parser.add_argument("--decrypt","-d", nargs='?',const='arg_was_not_given',help="For decryption")
83-
parser.add_argument("--file", "-f", help="Select a file.")
84-
parser.add_argument("--key","-k", help="Encrytion key.")
84+
parser.add_argument("--encrypt","-e", help="For encryption file or folder")
85+
parser.add_argument("--decrypt","-d", help="For decryption file or folder")
86+
parser.add_argument("--password","-p", help="Encrytion key.")
8587

8688
data = parser.parse_args()
8789

88-
if(data.file):
89-
90-
if not os.path.isfile(data.file):
91-
print("No such file was found.")
90+
if(data.encrypt and data.password):
91+
m_key = data.password.encode()
92+
key = hashlib.md5(m_key).hexdigest()
93+
key_64 = base64.urlsafe_b64encode(key.encode("utf-8"))
94+
if os.path.isdir(data.encrypt):
95+
directory = os.listdir(data.encrypt)
96+
os.chdir(data.encrypt)
97+
for file in directory:
98+
encrypt(file, key_64)
9299

93100
else:
94-
95-
if(data.encrypt and data.file and data.key):
96-
m_key = data.key.encode()
97-
key = hashlib.md5(m_key).hexdigest()
98-
key_64 = base64.urlsafe_b64encode(key.encode("utf-8"))
99-
encrypt(data.file, key_64)
100-
print("Key is: " + data.key)
101-
102-
elif (data.decrypt and data.file and data.key):
103-
m_key = data.key.encode()
104-
key = hashlib.md5(m_key).hexdigest()
105-
key_64 = base64.urlsafe_b64encode(key.encode("utf-8"))
106-
decrypt(data.file, key_64)
107-
101+
encrypt(data.encrypt, key_64)
102+
103+
print("Password is: " + data.password)
104+
105+
elif (data.decrypt and data.password):
106+
m_key = data.password.encode()
107+
key = hashlib.md5(m_key).hexdigest()
108+
key_64 = base64.urlsafe_b64encode(key.encode("utf-8"))
109+
if os.path.isdir(data.decrypt):
110+
directory = os.listdir(data.decrypt)
111+
os.chdir(data.decrypt)
112+
for file in directory:
113+
decrypt(file, key_64)
114+
else:
115+
decrypt(data.decrypt, key_64)
116+
else:
117+
print("""
118+
Usage: joncrypt.py [Option] [file]
119+
""")
108120

109121
if __name__ == "__main__":
110122
main()

0 commit comments

Comments
 (0)