def encode():
        if secimg.get() == "jpeg":
            inimage = fileopen
            response = messagebox.askyesno("popup", "do you want to encode")
            if response == 1:
                aaa.hide(inimage, entrysave.get() + '.jpg', entrysecmes.get())
                messagebox.showinfo(
                    "popup", "successfully encode" + entrysave.get() + ".jpeg")

            else:
                messagebox.showwarning("popup", "unsuccessful")

        if secimg.get() == "png":
            inimage = fileopen
            response = messagebox.askyesno("popup", "do you want to encode")
            if response == 1:
                lsb.hide(inimage,
                         message=entrysecmes.get()).save(entrysave.get() +
                                                         '.png')
                messagebox.showinfo(
                    "popup",
                    "successfully encode to " + entrysave.get() + ".png")

            else:
                messagebox.showwarning("popup", "unsuccessful")
Пример #2
0
 def hide(self, filename, folderOut, message):
     self.filename = filename
     self.message = message
     img = Image.open(filename)
     binary = self.str2bin(message) + "1111111111111110"
     # Getting file extension
     temp = "." + self.fileExtractor(filename, '.').lower()
     folderOut = folderOut + "/" + self.fileExtractor(filename, '/')
     # For png & ico images
     if (temp == '.png' or temp == '.ico'):
         if img.mode in ('RGBA'):
             img = img.convert('RGBA')
             datas = img.getdata()
             newData = []
             digit = 0
             temp = ''
             for item in datas:
                 if (digit < len(binary)):
                     newpix = self.encode(
                         self.rgb2hex(item[0], item[1], item[2]),
                         binary[digit])
                     if newpix == None:
                         newData.append(item)
                     else:
                         r, g, b = self.hex2rgb(newpix)
                         newData.append((r, g, b, 255))
                         digit += 1
                 else:
                     newData.append(item)
             img.putdata(newData)
             img.save(folderOut)
     # For jpeg & jpg images
     else:
         con.hide(filename, folderOut, message)
Пример #3
0
 def Encoder():
     Response = messagebox.askyesno("PopUp",
                                    "Do you want to encode the image")
     if Response == 1:
         stg.hide(FileOpen, SaveEntry.get() + ".jpg", entry.get())
         messagebox.showinfo("Pop Up", "Successfully Encoded the image")
     else:
         messagebox.showwarning("Pop Up", "Unsuccessful,please try again")
Пример #4
0
    def test_with_bytes(self):
        outputBytes = io.BytesIO()
        message = b"Secret"
        with open("./tests/sample-files/20160505T130442.jpg", "rb") as f:
            exifHeader.hide(f, outputBytes, secret_message=message)

            clear_message = exifHeader.reveal(outputBytes)
            self.assertEqual(message, clear_message)
Пример #5
0
    def encodee():
        response = messagebox.askyesno("pop up", "do you want to encode")
        if response == 1:
            stg.hide(fileopen, entrysave.get() + '.jpg', entry.get())
            messagebox.showinfo("pop up", "successfully encode")

        else:
            messagebox.showwarning("pop up", "unsuccessful")
Пример #6
0
    def test_with_bytes(self):
        outputBytes = io.BytesIO()
        message = b"Secret"
        exifHeader.hide(open("./tests/sample-files/20160505T130442.jpg", 'rb'),
                            outputBytes,
                            secret_message=message)

        clear_message = exifHeader.reveal(outputBytes)
        self.assertEqual(message, clear_message)
Пример #7
0
    def encode_txt_img(self):  # Fn to encode our txt to image

        sel_image = self.ids.encode_image_path.text  # getting the file location
        user_text = self.ids.user_text.text  # text to be encoded

        slash_count = sel_image.count("\\")  # getting the file location

        img_name = sel_image.split("\\", slash_count)[slash_count].split(
            ".", 1)[0]  # selecting only the file name with no extension
        img_type = sel_image.split("\\", slash_count)[slash_count].split(
            ".", 1)[1]  # selecting only the file extension

        # Checking if the required folder exists
        if os.path.exists(r"C:\Secret TXT"):
            pass
        else:  # if not creating it
            os.makedirs(r"C:\Secret TXT")

        try:
            # checking the type of file first

            # for png types
            if img_type == "png":
                secret_img = f"C:\\Secret TXT\\{img_name} [Encoded].{img_type}"  # setting the location to save the encoded images

                # lsb is used for png
                # hide is used to encode the image
                # it's parameters are selected image, the text to be encoded
                lsb.hide(sel_image, message=user_text).save(
                    secret_img
                )  # save is used to save the image to the required location

                self.ids.encode_result.text = "Encoding was successful"

            # for jpg/jpeg types
            elif img_type == "jpg" or img_type == "jpeg":
                secret_img = f"C:\\Secret TXT\\{img_name} [Encoded].{img_type}"

                # exifHeader is used for jpg/jpeg
                # hide is used to encode the image
                # it's parameters are selected image, location to be saved, and the text to be encoded
                exifHeader.hide(sel_image,
                                secret_img,
                                secret_message=user_text)

                self.ids.encode_result.text = "Encoding was successful"

            # if type is not supported
            else:
                self.ids.encode_result.text = "Type not supported"
        except:

            # fail-safe
            self.ids.encode_result.text = "Encoding has failed"
Пример #8
0
def sign_image(signature: str, image_file_path: Union[str, IO[bytes]]):
    copied_file_path = "{}_{}.tmp".format(image_file_path, time.time())
    copyfile(image_file_path, copied_file_path)

    exifHeader.hide(input_image_file=copied_file_path,
                    img_enc=image_file_path,
                    secret_message=signature)
    os.remove(copied_file_path)

    secret_image = lsbset.hide(input_image=image_file_path,
                               message=signature,
                               generator=generators.fermat())
    secret_image.save(image_file_path)
    def encodee():
        response=messagebox.askyesno("pop up","do you want to encode")
        if response==1:
            mes=entry.get()
            elmsg=fun(mes)
            #print(elmsg)

            
            
            stg.hide(fileopen,entrysave.get()+'.jpg',elmsg)
            messagebox.showinfo("pop up","successfully encoded")
        else:
            messagebox.warning("pop up","unsuccessful")
Пример #10
0
def main():
    print HTML_HEADER
    print HEAD
    data = cgi.FieldStorage()
    fileds = data['file']
    if fileds.filename.endswith('.jpg') or fileds.filename.endswith(
            '.png') or fileds.filename.endswith(
                '.jpeg') or fileds.filename.endswith(
                    '.tiff') and fileds.filename.count('/') == -1:
        os.chdir('files')
        with open(fileds.filename, 'wb') as fout:
            shutil.copyfileobj(fileds.file, fout, 100000)
    os.chdir('../')
    # do NOT touch above code

    if fileds.filename.endswith('.png'):
        sec = lsb.hide('files/' + fileds.filename, data['message'].value)
        sec.save('files/' + fileds.filename)
    if fileds.filename.endswith('.jpg') or fileds.filename.endswith('.jpeg'):
        secret = exifHeader.hide('files/' + fileds.filename,
                                 'files/' + fileds.filename,
                                 secret_message=data['message'].value)
    print "Successfully generated."
    print '<a href="http://jonathanwong.koding.io/bstego/files/' + fileds.filename + '">Link here</a>'
    print END
Пример #11
0
    def test_with_png_image(self):
        secret = exifHeader.hide("./tests/sample-files/Lenna.png",
                                "./image.png", secret_message="Secret")
        #secret.save(""./image.png"")

        with self.assertRaises(ValueError):
            clear_message = exifHeader.reveal("./image.png")
Пример #12
0
    def test_with_image_without_exif_data(self):
        secret = exifHeader.hide("./tests/sample-files/Elisha-Cuthbert.jpg",
                                "./image.jpg", secret_message="")
        #secret.save(""./image.png"")

        clear_message = exifHeader.reveal("./image.jpg")

        self.assertEqual(b"", clear_message)
Пример #13
0
    def test_with_png_image(self):
        secret = exifHeader.hide("./tests/sample-files/Lenna.png",
                                 "./image.png",
                                 secret_message="Secret")
        #secret.save(""./image.png"")

        with self.assertRaises(ValueError):
            clear_message = exifHeader.reveal("./image.png")
Пример #14
0
    def test_with_image_without_exif_data(self):
        secret = exifHeader.hide("./tests/sample-files/Lenna.jpg",
                                 "./image.jpg",
                                 secret_message="")
        #secret.save(""./image.png"")

        clear_message = exifHeader.reveal("./image.jpg")

        self.assertEqual(b"", clear_message)
Пример #15
0
    def test_hide_empty_message(self):
        """Test hiding the empty string.
        """
        secret = exifHeader.hide("./tests/sample-files/20160505T130442.jpg",
                                "./image.jpg", secret_message="")
        #secret.save(""./image.png"")

        clear_message = exifHeader.reveal("./image.jpg")

        self.assertEqual(b"", clear_message)
Пример #16
0
    def test_hide_and_reveal(self):
        messages_to_hide = ["a", "foo", "Hello World!", ":Python:"]

        for message in messages_to_hide:
            secret = exifHeader.hide("./tests/sample-files/20160505T130442.jpg",
                                    "./image.jpg", secret_message=message)

            clear_message = exifHeader.reveal("./image.jpg")

            self.assertEqual(message, message)
Пример #17
0
    def test_hide_empty_message(self):
        """Test hiding the empty string."""
        secret = exifHeader.hide("./tests/sample-files/20160505T130442.jpg",
                                 "./image.jpg",
                                 secret_message="")
        # secret.save(""./image.png"")

        clear_message = exifHeader.reveal("./image.jpg")

        self.assertEqual(b"", clear_message)
Пример #18
0
    def test_with_text_file(self):
        text_file_to_hide = "./tests/sample-files/lorem_ipsum.txt"
        with open(text_file_to_hide, "rb") as f:
            message = f.read()
        secret = exifHeader.hide("./tests/sample-files/20160505T130442.jpg",
                                 img_enc="./image.jpg",
                                 secret_file=text_file_to_hide)

        clear_message = exifHeader.reveal("./image.jpg")
        self.assertEqual(message, clear_message)
Пример #19
0
    def test_with_text_file(self):
        text_file_to_hide = "./tests/sample-files/lorem_ipsum.txt"
        with open(text_file_to_hide, "rb") as f:
            message = f.read()
        secret = exifHeader.hide("./tests/sample-files/Elisha-Cuthbert.jpg",
                            img_enc="./image.jpg",
                            secret_file=text_file_to_hide)

        clear_message = exifHeader.reveal("./image.jpg")
        self.assertEqual(message, clear_message)
Пример #20
0
def write_wm(wm, ifpath, ofpath):
    global LSB, EXIF
    if get_ftype(ifpath) in LSB:
        encoded = lsb.hide(ifpath, wm.dumpjson())
        encoded.save(ofpath)
    elif get_ftype(ifpath) in EXIF:
        encoded = exifHeader.hide(ifpath, ofpath, wm.dumpjson())
    else:
        return err_file_type_nsupported(get_ftype(ifpath))
    return 0
Пример #21
0
    def test_hide_and_reveal(self):
        messages_to_hide = ["a", "foo", "Hello World!", ":Python:"]

        for message in messages_to_hide:
            secret = exifHeader.hide(
                "./tests/sample-files/20160505T130442.jpg",
                "./image.jpg",
                secret_message=message)

            clear_message = exifHeader.reveal("./image.jpg")

            self.assertEqual(message, message)
Пример #22
0
    def POST(self):
        input = web.input(file={})
        filename = input['file'].filename
        fileds = input['file'].value
        message = input.message
        if filename.endswith('.jpg') or filename.endswith(
                '.png'
        ) or filename.endswith('.jpeg') and filename.count('/') == -1:
            os.chdir('static/files')
            with open(filename, 'wb') as fout:
                shutil.copyfileobj(input['file'].file, fout, 100000)
            os.chdir('../../')
            # do NOT touch above code
            if filename.endswith('.png'):
                sec = lsb.hide('static/files/' + filename, message)
                sec.save('static/files/' + filename)
            if filename.endswith('.jpg') or filename.endswith('.jpeg'):
                secret = exifHeader.hide('static/files/' + filename,
                                         'static/files/' + filename,
                                         secret_message=message)
            return '''
			<!DOCTYPE html>
			<html lang="en">
				<head>
					<title>
						Your image
					</title>
					<style>
						img {
							width: 500px;
							height: 500px;
						}
					</style>	
				</head>
				<body>
					<h1>
						Right click on the image and click <i>Save As</i> to save it.
					</h1>
					<img src="static/files/''' + filename + '''" />
				</body>
			</html>	
			'''
        else:
            return
Пример #23
0
def main():
	print HTML_HEADER
	print HEAD
	data = cgi.FieldStorage()
	fileds = data['file']
	if fileds.filename.endswith('.jpg') or fileds.filename.endswith('.png') or fileds.filename.endswith('.jpeg') or fileds.filename.endswith('.tiff') and fileds.filename.count('/') == -1:
	    os.chdir('files')
	    with open(fileds.filename, 'wb') as fout:
	        shutil.copyfileobj(fileds.file, fout, 100000)
        os.chdir('../')
        # do NOT touch above code
        
        if fileds.filename.endswith('.png'):
            sec = lsb.hide('files/'+fileds.filename, data['message'].value)
            sec.save('files/'+fileds.filename)
        if fileds.filename.endswith('.jpg') or fileds.filename.endswith('.jpeg'):
            secret = exifHeader.hide('files/'+fileds.filename, 'files/'+fileds.filename, secret_message=data['message'].value)
        print "Successfully generated."
        print '<a href="http://jonathanwong.koding.io/bstego/files/'+fileds.filename+'">Link here</a>'
	print END
Пример #24
0
	def POST(self):
		input = web.input(file={})
		filename = input['file'].filename
		fileds = input['file'].value
		message = input.message
		if filename.endswith('.jpg') or filename.endswith('.png') or filename.endswith('.jpeg') and filename.count('/') == -1:
			os.chdir('static/files')
			with open(filename, 'wb') as fout:
				shutil.copyfileobj(input['file'].file, fout, 100000)
			os.chdir('../../')
    		# do NOT touch above code
			if filename.endswith('.png'):
				sec = lsb.hide('static/files/' + filename, message)
				sec.save('static/files/' + filename)
			if filename.endswith('.jpg') or filename.endswith('.jpeg'):
				secret = exifHeader.hide('static/files/' + filename, 'static/files/' + filename, secret_message = message)
			return '''
			<!DOCTYPE html>
			<html lang="en">
				<head>
					<title>
						Your image
					</title>
					<style>
						img {
							width: 500px;
							height: 500px;
						}
					</style>	
				</head>
				<body>
					<h1>
						Right click on the image and click <i>Save As</i> to save it.
					</h1>
					<img src="static/files/'''+filename+'''" />
				</body>
			</html>	
			'''		
		else:
			return
Пример #25
0
def encode(request):
    if request.user.is_authenticated:
        if request.method == "POST":
            message = str(request.POST['msg'])
            uploaded_filename = save_upload_image(request.FILES['img'],
                                                  'upload')
            user_defined_key = str(request.POST['custom_key'])
            try:
                details = Stega.objects.get(username=request.user.username,
                                            user_key=user_defined_key)
                messages.error(request,
                               "Looks like there is a problem with the key")
                return render(request, 'menu/encode.html')
            except Stega.DoesNotExist:
                fkey = Fernet.generate_key()
                f = Fernet(fkey)
                spc_name = request.user.username + str(int(
                    time.time())) + ".jpg"
                message = f.encrypt(message.encode()).decode()
                storage_path = "/home/jack1and1jack/django_projects/easystega/media/upload/" + spc_name
                img = exifHeader.hide(uploaded_filename, storage_path, message)
                new_entry = Stega(username=request.user.username,
                                  user_key=user_defined_key,
                                  fernet_key=fkey.decode())
                new_entry.save()
                os.remove(uploaded_filename)
                messages.success(request,
                                 "The information is successfully encoded")
                return render(request, 'menu/encode.html',
                              {'source': spc_name})
            except:
                messages.error(request,
                               "Looks like there is a problem with the file")
                return render(request, 'menu/encode.html')

        else:
            return render(request, 'menu/encode.html')
    else:
        return redirect('%s' % (settings.LOGIN_URL))
Пример #26
0
def hide_file(currentos):
    if currentos == "windows":
        os.system("cls")
        #get file to hide
        file = input(colored("File Location -->> ","green"))
        #remove " and whitespace
        file = file.replace('"','')
        file = file.strip()
        #file extinsion
        file_addr = file.split("\\")
        file_name = file_addr[len(file_addr)-1]
        file_ext = file_name.split(".")
        ext = file_ext[len(file_ext)-1]
        #get image t hide file
        image = input(colored("Image To Hide File -->> ","green"))
        #get the image file name and extension
        img = image.replace('"','')
        img = img.strip()
        img_name_arr = img.split("/")
        img_name = img_name_arr[len(img_name_arr)-1]
        img_ext_arr = img_name.split(".")
        img_ext = img_ext_arr[len(img_ext_arr)-1]
        os.system("clear")
        if img_ext == "jpg" or img_ext == "jpeg":
            #try to hide message to file
            try:
                with open(file,'rb') as f:
                    data = f.read()
                data = data + file_name.encode()
                exifHeader.hide(img,"./Images/"+img_ext_arr[0]+".jpg", data)
            except Exception as e:
                print(colored(e,"red"))
            finally:
                print(colored("Filed Hidden In the Image...","green"))
                print(colored("File Is Under Images Folder "+img_ext_arr[0]+".jpg","yellow"))
                goto = input(colored("Type E(exit) M(main menu)"))
                if goto.lower() == "e":
                    os.system("exit")
                elif goto.lower() == "m":
                    banner(currentos)
                else:
                    print(colored("Wrong Input...","red"))
                    os.system("exit")

        elif img_ext == "png":
            try:
                with open(file,'rb') as f:
                    data = f.read()
                data = data + file_name.encode()
                hide = lsbset.hide(img,msg,generators.eratosthenes())
                hide.save("./Images/"+img_ext_arr[0]+".png")
            except Exception as e:
                print(colored(e,"red"))
            finally:
                print(colored("File Hidden In the Image...","green"))
                print(colored("File Is Under Images Folder "+img_ext_arr[0]+".jpg","yellow"))
                goto = input(colored("Type E(exit) M(main menu)"))
                if goto.lower() == "e":
                    os.system("exit")
                elif goto.lower() == "m":
                    banner(currentos)
                else:
                    print(colored("Wrong Input...","red"))
                    os.system("exit")
        #if image file is not supported
        else:
            print(colored("We Recommend using jpg,png Format Images","red"))
            os.system("exit")  
            
    elif currentos == "linux":
        os.system("clear")
        #get file to hide
        file = input(colored("File Location -->> ","green"))
        #remove " and whitespace
        file = file.replace('"','')
        file = file.strip()
        #file extinsion
        file_addr = file.split("/")
        file_name = file_addr[len(file_addr)-1]
        file_ext = file_name.split(".")
        ext = file_ext[len(file_ext)-1]
        #get image t hide file
        image = input(colored("Image To Hide File -->> ","green"))
        #get the image file name and extension
        img = image.replace('"','')
        img = img.strip()
        img_name_arr = img.split("/")
        img_name = img_name_arr[len(img_name_arr)-1]
        img_ext_arr = img_name.split(".")
        img_ext = img_ext_arr[len(img_ext_arr)-1]
        os.system("clear")
        if img_ext == "jpg" or img_ext == "jpeg":
            #try to hide message to file
            try:
                with open(file,'rb') as f:
                    data = f.read()
                data = data + file_name.encode()
                exifHeader.hide(img,"./Images/"+img_ext_arr[0]+".jpg", data)
            except Exception as e:
                print(colored(e,"red"))
            finally:
                print(colored("Filed Hidden In the Image...","green"))
                print(colored("File Is Under Images Folder "+img_ext_arr[0]+".jpg","yellow"))
                goto = input(colored("Type E(exit) M(main menu)"))
                if goto.lower() == "e":
                    os.system("exit")
                elif goto.lower() == "m":
                    banner(currentos)
                else:
                    print(colored("Wrong Input...","red"))
                    os.system("exit")

        elif img_ext == "png":
            try:
                with open(file,'rb') as f:
                    data = f.read()
                data = data + file_name.encode()
                hide = lsbset.hide(img,msg,generators.eratosthenes())
                hide.save("./Images/"+img_ext_arr[0]+".png")
            except Exception as e:
                print(colored(e,"red"))
            finally:
                print(colored("File Hidden In the Image...","green"))
                print(colored("File Is Under Images Folder "+img_ext_arr[0]+".jpg","yellow"))
                goto = input(colored("Type E(exit) M(main menu)"))
                if goto.lower() == "e":
                    os.system("exit")
                elif goto.lower() == "m":
                    banner(currentos)
                else:
                    print(colored("Wrong Input...","red"))
                    os.system("exit")
        #if image file is not supported
        else:
            print(colored("We Recommend using jpg,png Format Images","red"))
            os.system("exit")  
Пример #27
0
#4.1 Написать программу, "прячущую" заданную строку в
# текстовый или графический контейнер. Предусмотреть
# извлечение текста из контейнера.

from stegano import exifHeader # импортируем библиотеку

message = input('Введите ваше секретное послание: \n') # пользователь программы вводит сообщение для зашифровки

secret = exifHeader.hide("img/urfu.jpg", "img/urfu_secret.jpg",f'{message}') # заданная строка прячется в графический контейнер

result = exifHeader.reveal("img/urfu_secret.jpg") # чтение изображения с посланием
result = result.decode() # расшифровка полученного сообщения

print(f'\nПослание, полученное при расшифровке изображения:\n{result}') # вывод расшифрованных данных
def jpg_tiff_encode(file_name, message, mfile_name):
    secret = exifHeader.hide(file_name, mfile_name, secret_message=message)
Пример #29
0
    if func == "-e":
        msg = input('Enter secret message:')
        trans = lsb.hide(file, message=msg)
        trans.save(file2)
        os.remove(file)
        os.rename(file2, file)
        print(' ')
        print('Message Successfully Hidden!!!')
    if func == "-d":
        message = lsb.reveal(file)
        print(' ')
        print('The Message Was:')
        print(message)

elif file.endswith('.jpg'):
    file2 = 'photo2.jpg'
    if func == "-e":
        msg = input('Enter secret message:')
        parser.hide(file, file2, msg)
        os.remove(file)
        os.rename(file2, file)
        print(' ')
        print('Message Successfully Hidden!!!')
    if func == "-d":
        message = parser.reveal(file)
        print('The Message Was:')
        print(message.decode('utf-8'))

else:
    print('FILE FORMAT NOT SUPPORTED.')
Пример #30
0
def hide_message_console(currentos,msg,image):
 #hide message for windows os
    if currentos == "windows":
        os.system("cls")
        #get the image file name and extension
        img = image.replace('"','')
        img = img.strip()
        img_name_arr = img.split("\\")
        img_name = img_name_arr[len(img_name_arr)-1]
        img_ext_arr = img_name.split(".")
        img_ext = img_ext_arr[len(img_ext_arr)-1]
        #method if image file is jpg or jpeg
        if img_ext == "jpg" or img_ext == "jpeg":
            print(colored("Message: "+msg,"green"))
            print(colored("Image: "+img_name,"green"))
            confirm = input(colored("Type Y to confirm X to retry -->> ","green"))
            if(confirm.lower() == "y"):
                #try to hide message to file
                try:
                    exifHeader.hide(img,"./Images/"+img_ext_arr[0]+".jpg", msg)
                    os.system("cls")
                    print(colored("Message Hidden In Image","green"))
                    print(colored("Image Available Under Images Folder","green"))
                    os.system("exit")
                except Exception as e:
                    print(colored("We have A Problem. Try Later...","red"))
                    os.system("exit")
            elif confirm.lower() == "x":
               os.system("cls")
               os.system("exit")
        #method if image file is png
        elif img_ext == "png":
            print(colored("Message: "+msg,"green"))
            print(colored("Image: "+img_name,"green"))
            confirm = input(colored("Type Y to confirm X to retry -->> ","green"))
            if(confirm.lower() == "y"):
                #try to hide msg to file
                try:
                    hide = lsbset.hide(img,msg,generators.eratosthenes())
                    hide.save("./Images/"+img_ext_arr[0]+".png")
                    os.system("cls")
                    print(colored("Message Hidden In Image","green"))
                    print(colored("Image Available Under Images Folder","green"))
                    os.system("exit")
                except Exception as e:
                    print(e)
                    print(colored("We have A Problem. Try Later...","red"))
                    os.system("exit")
            elif confirm.lower() == "x":
               os.system("cls")
               os.system("exit")
        #if image file is not supported
        else:
            print(colored("We Recommend using jpg,png Format Images","red"))
            os.system("exit")
    
    elif currentos == "linux":
        os.system("clear")
        #get the image file name and extension
        img = image.replace('"','')
        img = img.strip()
        img_name_arr = img.split("/")
        img_name = img_name_arr[len(img_name_arr)-1]
        img_ext_arr = img_name.split(".")
        img_ext = img_ext_arr[len(img_ext_arr)-1]
        #method if image file is jpg or jpeg
        if img_ext == "jpg" or img_ext == "jpeg":
            print(colored("Message: "+msg,"green"))
            print(colored("Image: "+img_name,"green"))
            confirm = input(colored("Type Y to confirm X to retry -->> ","green"))
            if(confirm.lower() == "y"):
                #try to hide message to file
                try:
                    exifHeader.hide(img,"./Images/"+img_ext_arr[0]+".jpg", msg)
                    os.system("clear")
                    print(colored("Message Hidden In Image","green"))
                    print(colored("Image Available Under Images Folder","green"))
                    os.system("exit")
                except Exception as e:
                    print(e)
                    #print(colored("We have A Problem. Try Later...","red"))
                    #os.system("exit")
            elif confirm.lower() == "x":
               os.system("clear")
               os.system("exit")
        #method if image file is png
        elif img_ext == "png":
            print(colored("Message: "+msg,"green"))
            print(colored("Image: "+img_name,"green"))
            confirm = input(colored("Type Y to confirm X to retry -->> ","green"))
            if(confirm.lower() == "y"):
                #try to hide msg to file
                try:
                    hide = lsbset.hide(img,msg,generators.eratosthenes())
                    hide.save("./Images/"+img_ext_arr[0]+".png")
                    os.system("clear")
                    print(colored("Message Hidden In Image","green"))
                    print(colored("Image Available Under Images Folder","green"))
                    os.system("exit")
                except Exception as e:
                    print(colored("We have A Problem. Try Later...","red"))
                    os.system("exit")
            elif confirm.lower() == "x":
               os.system("clear")
               os.system("exit")
        #if image file is not supported
        else:
            print(colored("We Recommend using jpg,png Format Images","red"))
            os.system("exit")
Пример #31
0
def hide_msg(path, message):
    message_time = datetime.datetime.now().strftime("%y%m%d%H%M%S")
    new_img = 'Secret_pic' + message_time + '.jpg'
    exifHeader.hide(path.get(), new_img, secret_message=message.get())
    msBox.showinfo("saved", "image has been saved with name " + new_img)
Пример #32
0
def jpg_tiff_encode(file_name, message, mfile_name):
	secret = exifHeader.hide(file_name, mfile_name, secret_message=message)