v 1.0
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
import base64
|
||||
|
||||
def to64(data):
|
||||
e = base64.b64encode(data)
|
||||
return e
|
||||
|
||||
def from64(data):
|
||||
d = base64.b64decode(data)
|
||||
return d
|
||||
|
||||
def tobin(data):
|
||||
b = data.encode("UTF-8")
|
||||
return b
|
||||
|
||||
def frombin(data):
|
||||
b = data.decode("UTF-8")
|
||||
return b
|
||||
@@ -0,0 +1,62 @@
|
||||
import bs64, os, json
|
||||
|
||||
def is_folder(ref):
|
||||
try:
|
||||
os.listdir(path=ref)
|
||||
return 1
|
||||
except:
|
||||
return 0
|
||||
|
||||
|
||||
def listdict(rf):
|
||||
list = os.listdir(path=rf)
|
||||
dirlist = []
|
||||
for one_l in list:
|
||||
ref = rf + "/" + one_l
|
||||
if is_folder(ref) == 1:
|
||||
dirlist.append(ref)
|
||||
dirlist.extend(listdict(ref))
|
||||
return dirlist
|
||||
|
||||
def todict(ref):
|
||||
dict = {}
|
||||
dirlist = listdict(ref)
|
||||
dirlist.append(ref)
|
||||
dict["folders"] = dirlist
|
||||
filelist = []
|
||||
count = -1
|
||||
for one_l in dirlist:
|
||||
count += 1
|
||||
list = os.listdir(path=one_l)
|
||||
for one_f in list:
|
||||
if is_folder(one_l + "/" + one_f) == 0:
|
||||
filelist.append({"name":one_f, "id":count, "data": bs64.frombin(bs64.to64(open(one_l+"/"+one_f, "rb").read()))})
|
||||
dict["files"] = filelist
|
||||
return dict
|
||||
|
||||
def fromdict(dict):
|
||||
dirlist = dict["folders"]
|
||||
filelist = dict["files"]
|
||||
for one_d in dirlist:
|
||||
os.makedirs("./ready"+str(one_d[1:]), mode=0o777, exist_ok=True)
|
||||
for one_f in filelist:
|
||||
bin = bs64.from64(bs64.tobin(one_f["data"]))
|
||||
file = open("./ready"+str(dirlist[one_f["id"]][1:])+"/"+str(one_f["name"]), "wb")
|
||||
file.write(bin)
|
||||
file.close()
|
||||
|
||||
def tojson(name, refs):
|
||||
with open("./cache/"+name, 'w') as fp:
|
||||
json.dump(todict(refs), fp)
|
||||
|
||||
def fromjson(name):
|
||||
with open("./cache/"+name) as json_file:
|
||||
data = json.load(json_file)
|
||||
fromdict(data)
|
||||
|
||||
#print(os.listdir(path="."))
|
||||
#os.makedirs(path, mode=0o777, exist_ok=False)
|
||||
#print(os.walk(".", topdown=True, onerror=None, followlinks=False))
|
||||
#print(os.listdir(path="."))
|
||||
#os.makedirs(path, mode=0o777, exist_ok=False)
|
||||
#print(os.walk(".", topdown=True, onerror=None, followlinks=False))
|
||||
@@ -0,0 +1,21 @@
|
||||
import bs64, os, jcr
|
||||
from cryptography.fernet import Fernet
|
||||
|
||||
print("+--->\n| CrypterPy 1.0\n+--->")
|
||||
os.makedirs("./cache", mode=0o777, exist_ok=True)
|
||||
if input("e?>>> ") == "y":
|
||||
name_r = input("Result name>>> ")
|
||||
dirs = input("Folder >>>")
|
||||
jcr.tojson(name_r+".ncf", dirs)
|
||||
key = Fernet.generate_key()
|
||||
open("./"+name_r+".kcf", "wb").write(key)
|
||||
f = Fernet(key)
|
||||
results = f.encrypt(open("./cache/"+name_r+".ncf", "rb").read())
|
||||
open("./"+name_r+".ecf", "wb").write(results)
|
||||
else:
|
||||
name = input("Name>>> ")
|
||||
key = open("./"+name+".kcf", "rb").read()
|
||||
f = Fernet(key)
|
||||
file = open("./"+name+".ecf", "rb").read()
|
||||
open("./cache/"+name+".ncf", "wb").write(f.decrypt(file))
|
||||
jcr.fromjson(name+".ncf")
|
||||
Reference in New Issue
Block a user