Cleaned code up

This commit is contained in:
Kevin Veen-Birkenbach 2022-12-09 20:54:33 +01:00
parent b3c31c0013
commit 284fec6c15
5 changed files with 27 additions and 28 deletions

View File

@ -1,6 +1,12 @@
# Splitted Secret
The purpose of this software is to splitt a secret over multiple people. Just if a defined amount of this people meet together they can encrypt the secret and have access to it.
# testing
```bash
python scripts/main.py --mode cleanup &&
python scripts/main.py --amount 6 --quota 50 --mode generate --master-password "ewrwerwerew" &&
python scripts/main.py --mode decrypt --master-password "ewrwerwerew"
```
# Requirements to know
- Amount of People
- How much people need to reunite for decrypting

View File

@ -14,8 +14,6 @@ class Cleanup(AbstractSplittedSecret):
def deleteAllFilesInFolder(self,folder_path):
try:
self.executeCommand('rm -v ' + folder_path + '*')
print(self.getCommandString())
print(self.getOutputString())
except:
pass
@ -28,10 +26,7 @@ class Cleanup(AbstractSplittedSecret):
self.deleteAllFilesInFolder(folder_path)
def cleanupForUser(self,user):
self.executeCommand('find "' + self.getFolderPath("encrypted") + '" -not -name "*' + str(user) +'*" -type f -print | xargs rm -v')
print(self.getCommandString())
print(self.getOutputString())
self.executeCommand('find "' + self.getFolderPath("encrypted") + '" -not -name "*' + str(user) +'*" -type f -print | xargs rm -v')
def deleteAll(self):
self.deleteAllFiles("encrypted")

View File

@ -14,11 +14,13 @@ class Decryption(AbstractSplittedSecret):
def decryptFile(self,password,input_file_path,output_file_path):
self.executeCommand('gpg --batch --passphrase "'+ password + '" -o "' + output_file_path +'" "'+ input_file_path+'"')
print(self.getCommandString())
print(self.getOutputString())
def decryptUserFile(self):
input_file_path = self.getUserFilePath(self.user_id,"encrypted")
output_file_path = self.getUserFilePath(self.user_id,"decrypted")
self.decryptFile(self.user_password, input_file_path,output_file_path)
self.decryptFile(self.user_password, input_file_path, output_file_path)
def decryptAccumulatedFile(self):
input_file_path = self.getAccumulatedFilePath("encrypted")
output_file_path = self.getAccumulatedFilePath("decrypted")
self.decryptFile(self.user_password, input_file_path, output_file_path)

View File

@ -31,14 +31,6 @@ class Encryption(AbstractSplittedSecret):
start_number += str(self.amount_of_secret_holders)
index += 1
return int(start_number)
def savePassword(self,password,password_file_path):
print("Saving password to: " + password_file_path)
master_password_file = open(password_file_path, "a")
master_password_file.seek(0)
master_password_file.truncate()
master_password_file.write(password)
master_password_file.close()
def createPassword(self,length):
characters = string.ascii_letters + string.digits
@ -85,7 +77,6 @@ class Encryption(AbstractSplittedSecret):
def encryptStringToFile(self,text,output_file,password):
self.executeCommand('echo \'' + text + '\' | gpg --symmetric --armor --batch --passphrase "' + password + '" -o "' + output_file + '"')
print(self.getCommandString())
def generateEncryptedGroupFiles(self):
for password_group_index_int in self.group_mapped_data:

View File

@ -23,15 +23,20 @@ if __name__ == '__main__':
if args.mode == 'decrypt':
decrypt = Decryption()
if args.user is None:
print("Please type in the user number:")
decrypt.setUserId(input())
else:
decrypt.setUser(args.user)
print("Please enter the master password:")
decrypt.setUserPassword(getpass())
print("Decrypting User File...")
decrypt.decryptUserFile();
if args.master_password is None:
if args.user is None:
print("Please type in the user number:")
decrypt.setUserId(input())
else:
decrypt.setUser(args.user)
print("Please enter the user password:")
decrypt.setUserPassword(getpass())
print("Decrypting User File...")
decrypt.decryptUserFile();
exit()
print("Decrypting accumulated file...")
decrypt.setUserPassword(args.master_password)
decrypt.decryptAccumulatedFile()
exit()