def on_extractToolButton_clicked(self): if self.epasswordLineEdit.text()==self.ecpasswordLineEdit.text(): iname=self.efileLineEdit.text() if os.path.exists(iname)==False: self.extractStatusLabel.setText("Enter a valid file name to decode") self.efileLineEdit.setText("") self.efileLineEdit.setFocus(True) password=self.epasswordLineEdit.text() Steg.extract(str(iname),'temp.txt',str(password)) print 'extraction done' self.decinit(password,'temp.txt') print 'decryption done' opfile=open(self.saveasLineEdit.text(),'w') t=open('temp.txt','r+') shutil.copyfile('temp.txt',self.saveasLineEdit.text()) os.remove('temp.txt') self.epasswordLabel.setText("") self.extractStatusLabel.setText("Data extracted") self.epasswordLineEdit.setText("") self.efileLineEdit.setText("") self.ecpasswordLineEdit.setText("") self.saveasLineEdit.setText("") self.updateUI() else: self.epasswordLabel.setText("Password Mismatch") self.ecpasswordLineEdit.setText("") self.epasswordLineEdit.setText("")
def main(): options, parser = parse_args() hide = options.hide unhide = options.unhide img_file = options.img_file path = options.path isvalid = validate(hide, unhide, img_file, path) if not isvalid: print("Invalid Usage!") parser.usage sys.exit(1) else: img_file_path = os.path.join(path, img_file) steg = Steg(img_file_path) if hide == True: message = input("Enter the Text to hide into the given Image: ") res = steg.hide(message) if res != True: print("Error occured in Hiding the Text!") print(res) sys.exit(1) if unhide == True: result = steg.retrieve() result = result.decode() if type(result) == bytes else result print(result)
def on_hidetoolButton_clicked(self): if self.passwordLineEdit.text()==self.cpasswordLineEdit.text(): iname=self.imageFileLineEdit.text() if os.path.exists(iname)==False: self.hideStatusLabel.setText("*Enter a valid Image file name") self.imageFileLineEdit.setText("") self.imageFileLineEdit.setFocus(True) return fname=self.fileLineEdit.text() if os.path.exists(fname)==False: self.hideStatusLabel.setText("*Enter a valid File name") self.fileLineEdit.setText("") self.fileLineEdit.setFocus(True) return saveasfilename=QFileDialog.getSaveFileName(self,'save file ','/home') password=self.passwordLineEdit.text() self.encinit(password,fname) print 'Encryption done' saveasfilename=saveasfilename+self.opimageComboBox.currentText() if Steg.embed(str(iname),'./temp',str(saveasfilename),str(password))!=0: self.hideStatusLabel.setText("Data too long stored partially") print 'Data embeded' else: self.passwordLabel.setText("") self.hideStatusLabel.setText("Data encoded in image") self.fileLineEdit.setText("") self.passwordLineEdit.setText("") self.cpasswordLineEdit.setText("") self.imageFileLineEdit.setText("") self.opimageComboBox.setCurrentIndex(0) self.updateUI() else: self.passwordLabel.setText("*Password Mismatch") self.cpasswordLineEdit.setText("") self.passwordLineEdit.setText("") self.passwordLineEdit.setFocus(True)
8. Type the command "python2.7 Run_Steg.py" - You MUST use Python 2.7 or the program may not work 9. Follow the on screen prompts for the program """ import Pad import Steg if __name__ == "__main__": mode = Pad.getMode() while (mode != "quit"): if (mode == "hide"): message = Pad.getMessage() keyMes = Pad.encryptMessage(message) Pad.writeKeyList(keyMes[0]) encMessage = keyMes[1] coverPath = Steg.getCoverPath() savePath = Steg.getSavePath() Steg.hideMessage(encMessage, coverPath, savePath) if (mode == "reveal"): imagePath = Steg.getEncImagePath() keyList = Pad.getKeyList() encMessage = Steg.revealMessage(imagePath, len(keyList)) decMessage = Pad.decryptMessage(encMessage, keyList) print("\nThe hidden message is: " + decMessage) mode = Pad.getMode()