verschlüsselung
This commit is contained in:
41
lib/Vermasseln.py
Normal file
41
lib/Vermasseln.py
Normal file
@@ -0,0 +1,41 @@
|
||||
# This Python file uses the following encoding: utf-8
|
||||
from Crypto import Random
|
||||
from Crypto.Cipher import AES
|
||||
from base64 import b64encode, b64decode
|
||||
import platform
|
||||
from Crypto.Hash import SHA256
|
||||
|
||||
|
||||
class Vermasseln:
|
||||
def oscarVermasseln(self, data):
|
||||
b_data = data.encode("utf-8")
|
||||
cipher = self.__vermasslungsKobold()
|
||||
|
||||
ciphertext, tag = cipher.encrypt_and_digest(b_data)
|
||||
decoded_data = [b64encode(x).decode("utf-8") for x in (ciphertext, tag)]
|
||||
storable_data = ".".join(decoded_data)
|
||||
|
||||
return storable_data
|
||||
|
||||
def entschluesseln(self, data):
|
||||
data_list = data.split(".")
|
||||
encoded_data = [b64decode(x) for x in data_list]
|
||||
cipher = self.__vermasslungsKobold()
|
||||
decrypted_data = cipher.decrypt_and_verify(encoded_data[0], encoded_data[1])
|
||||
decrypted_data = decrypted_data.decode("utf-8")
|
||||
return decrypted_data
|
||||
|
||||
def __vermasslungsKobold(self):
|
||||
key = platform.processor().encode("utf-8")
|
||||
key = key[0:31]
|
||||
hash_key = SHA256.new(key)
|
||||
hashed = hash_key.digest()
|
||||
nonce = platform.machine().encode("utf-8")
|
||||
cipher = AES.new(hashed, AES.MODE_SIV, nonce = nonce)
|
||||
return cipher
|
||||
|
||||
print(Vermasseln().oscarVermasseln("irgendeinenText"))
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user