Skip to content

Commit

Permalink
hashing limiter added
Browse files Browse the repository at this point in the history
  • Loading branch information
metamorphic-spyware committed May 22, 2022
1 parent caf1f3f commit 8d999de
Show file tree
Hide file tree
Showing 3 changed files with 112 additions and 11 deletions.
14 changes: 8 additions & 6 deletions enrocrypt/core.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
from typing import Any
from enrocrypt.hashing import Hashing
from enrocrypt.encryption import Encryption
from enrocrypt.basic import Basic
Expand All @@ -13,8 +12,9 @@ class Core(Hashing,Encryption,Basic):
}'''
def __init__(self) -> None:
self.salt = ''
def set_config(self,*args: Any):
configs = (args[0]['configs']['salt_file'])
self.byt = 512
def set_config(self,con:dict):
configs = (con['salt_file'])
value = self.__Set_Salt(configs)
return value
def __str__(self) -> str:
Expand All @@ -26,10 +26,12 @@ def __Set_Salt(self,salt:list):
self.salt = bytes(salts.encode())
return True
except FileNotFoundError:
return Warning("No Salt File Found At The Given Location Using Random Salt")
return print(Warning("No Salt File Found At The Given Location Using Random Salt"))
else:
return False
def get_hash_object(self):
hashing = Hashing()
hashing(bytes(self.salt.encode()))
return hashing
if self.salt == "":
print(print(Warning("No Personalized Salt Loaded In The Memory, Using Random Salt")))
hashing(bytes(self.salt.encode()),self.byt)
return hashing
36 changes: 31 additions & 5 deletions enrocrypt/hashing.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import hashlib, base64, uuid
from passlib.handlers.pbkdf2 import pbkdf2_sha256
from cryptography.hazmat.primitives import hashes
from typing import Any
class Hashing():
def __init__(self):
self.salt = None
self.byt = 512
def __call__(self, *args:Any):
self.salt = args[0]
def __str__(self):
Expand Down Expand Up @@ -39,7 +41,10 @@ def __Salt(self,data,salt:bytes = None):
salts.append(str(data).split("'")[1])
salts.append(str(data).split("'")[1])
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
return base64.standard_b64encode(bytes((str(base64.urlsafe_b64encode(bytes(''.join(salts).encode()))).split("'")[1]+str(base64.urlsafe_b64encode(base64.standard_b64encode((bytes(''.join(salts).encode()))))).split("'")[1]).encode()))
salting = base64.standard_b64encode(bytes((str(base64.urlsafe_b64encode(bytes(''.join(salts).encode()))).split("'")[1]+str(base64.urlsafe_b64encode(base64.standard_b64encode((bytes(''.join(salts).encode()))))).split("'")[1]).encode()))
if len(salting) > self.byt:
salting = salting.decode()[0:self.byt]
return salting
if salt:
salts = []
salts.append(str(hashlib.sha256(salt).digest()).split("'")[1])
Expand All @@ -49,8 +54,29 @@ def __Salt(self,data,salt:bytes = None):
salts.append(str(data).split("'")[1])
salts.append(str(data).split("'")[1])
salts.append(str(hashlib.sha256(salt).digest()).split("'")[1])
return base64.standard_b64encode(bytes((str(base64.urlsafe_b64encode(bytes(''.join(salts).encode()))).split("'")[1]+str(base64.urlsafe_b64encode(base64.standard_b64encode((bytes(''.join(salts).encode()))))).split("'")[1]).encode()))

salting2 = base64.standard_b64encode(bytes((str(base64.urlsafe_b64encode(bytes(''.join(salts).encode()))).split("'")[1]+str(base64.urlsafe_b64encode(base64.standard_b64encode((bytes(''.join(salts).encode()))))).split("'")[1]).encode()))
if salting2 > self.byt:
salting2 = salting2.decode()[0:self.byt]
return salting2

def __Salt_PBKDF(self,data):
salts = []
dataset = [] # len([]) == 7 TRUE
count = 0
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
datas = str(data).split("/") #len([]) == 4 TRUE
for i in datas:
dataset.append(str(i).split("$"))
count+=1
dataset.pop(0)
dataset.pop(1)
for i in range(count):
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
salts.append(str(dataset[i]))
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
return base64.standard_b64encode(bytes((str(base64.urlsafe_b64encode(bytes(''.join(salts).encode()))).split("'")[1]+str(base64.urlsafe_b64encode(base64.standard_b64encode((bytes(''.join(salts).encode()))))).split("'")[1]).encode()))

def SHA256(self,data:str):
sha = hashlib.sha256(bytes(data.encode()))
hash = sha.digest()
Expand All @@ -76,5 +102,5 @@ def BLAKE2(self,data:bytes):
a.update(data)
return self.__Salt(a.finalize(),salt=self.salt)

obj = Hashing()
print(obj.PBKDF2_SHA256())
def PBKDF2_SHA256(self,data:bytes):
return self.__Salt_PBKDF(pbkdf2_sha256.hash(str(data.decode)))
73 changes: 73 additions & 0 deletions map/disection.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
BREAKING

pbkdf2-sha256$29000$C8F4r/U.5/yfM2ZszVnr3Q$7obwOw/4aZ.hYnhme9Zxqr4KgPIZ4EhRBnLKR6K9WeY (happiness)

Step -> 1

pbkdf2-sha256$29000$C8F4r
/
U.5
/
yfM2ZszVnr3Q$7obwOw
/
4aZ.hYnhme9Zxqr4KgPIZ4EhRBnLKR6K9WeY

Step -> 2

pbkdf2-sha256 NO
$ NO
29000 NO
$ NO
C8F4r YES
/ NO
U.5 YES
/ NO
yfM2ZszVnr3Q YES
$ NO
7obwOw YES
/ NO
4aZ.hYnhme9Zxqr4KgPIZ4EhRBnLKR6K9WeY YES



TILL NOW RESULT

C8F4rU.5yfM2ZszVnr3Q4aZ.hYnhme9Zxqr4KgPIZ4EhRBnLKR6K9WeY


SALTING

will use basic SHA256 to hash some random text and then add it randomly (i.e. in any order)
to the original text. As everything is hashed it will be very hard to find out the original
text and the Salt

BASIC SALT MODLE

salts = []
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
salts.append(str(data).split("'")[1])
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
salts.append(str(data).split("'")[1])
salts.append(str(data).split("'")[1])
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
return base64.standard_b64encode(bytes((str(base64.urlsafe_b64encode(bytes(''.join(salts).encode()))).split("'")[1]+str(base64.urlsafe_b64encode(base64.standard_b64encode((bytes(''.join(salts).encode()))))).split("'")[1]).encode()))

EDITED SALT MODLE (random mode)

salts = []
dataset = [] # len([]) == 7 TRUE
count = 0
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
data = str(data).split("/") #len([]) == 4 TRUE
for i in data:
dataset.append(str(i).split("$"))
count+=1
dataset.pop(0)
dataset.pop(1)
for i in range(count):
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
salts.append(str(dataset[i]))
salts.append(str(hashlib.sha256(uuid.uuid4().bytes).digest()).split("'")[1])
return base64.standard_b64encode(bytes((str(base64.urlsafe_b64encode(bytes(''.join(salts).encode()))).split("'")[1]+str(base64.urlsafe_b64encode(base64.standard_b64encode((bytes(''.join(salts).encode()))))).split("'")[1]).encode()))

0 comments on commit 8d999de

Please sign in to comment.