mirror of
https://github.com/kevinveenbirkenbach/splitted-secret.git
synced 2024-11-22 10:11:05 +01:00
Cleaned code up
This commit is contained in:
parent
b3c31c0013
commit
284fec6c15
@ -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
|
||||
|
@ -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
|
||||
|
||||
@ -29,9 +27,6 @@ class Cleanup(AbstractSplittedSecret):
|
||||
|
||||
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())
|
||||
|
||||
|
||||
def deleteAll(self):
|
||||
self.deleteAllFiles("encrypted")
|
||||
|
@ -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)
|
@ -32,14 +32,6 @@ class Encryption(AbstractSplittedSecret):
|
||||
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
|
||||
return (''.join(random.choice(characters) for i in range(length)).upper())
|
||||
@ -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:
|
||||
|
@ -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()
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user