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("")
Beispiel #2
0
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)
Beispiel #4
0
	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()