-
Originally created by MustafaTanguner in Mnemonic
-
I modified the code to fix a code error (
ValueError: Exceeds the limit (4300) for integer string conversion
)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cv2
import random
import math
import sys
import os
import os.path
from termcolor import colored
from sozlukler import sifreleme_sozlugu, sifre_cozme_sozlugu
print(colored("""
ooo ooooo o8o
`88. .888' `"'
888b d'888 ooo. .oo. .ooooo. ooo. .oo. .oo. .ooooo. ooo. .oo. oooo .ooooo.
8 Y88. .P 888 `888P"Y88b d88' `88b `888P"Y88bP"Y88b d88' `88b `888P"Y88b `888 d88' `"Y8
8 `888' 888 888 888 888ooo888 888 888 888 888 888 888 888 888 888
8 Y 888 888 888 888 .o 888 888 888 888 888 888 888 888 888 .o8
o8o o888o o888o o888o `Y8bod8P' o888o o888o o888o `Y8bod8P' o888o o888o o888o `Y8bod8P'
""",'blue'))
print("*" * 31, "Welcome to Mnemonic Encryption Software", "*" * 33,)
print("*" * 105)
print("*" * 41,"Author:@villwocki", "*" * 45, )
print("*" * 105, )
print("*" * 30, "https://www.youtube.com/watch?v=pBSR3DyobIY", "*" * 30, )
print("-" * 105, )
print("")
print("")
while True:
gelen = input(colored("Access Code image file Path:",'cyan'))
if os.path.isfile(gelen) and os.access(gelen, os.R_OK):
print("File exists and is readable")
break
else:
print("Either the file is missing or not readable")
def encode():
resim = cv2.imread(gelen)
b = resim[100, 100, 0]
g = resim[100, 100, 1]
r = resim[100, 100, 2]
px = resim[100, 100]
resim[100, 100] = [255, 255, 255]
resim[100, 100, 0] = 221
resim[100, 100, 1] = 223
resim[100, 100, 2] = 224
px = resim[100, 100]
px[0] = 224
px[1] = 225
px[2] = 226
d = resim[9, :, 0], resim[9, :, 1], resim[9, :, 2]
with open('veriler.txt', 'w') as f:
f.write(str(d))
encode()
veriler = open("veriler.txt", "r+")
def semboleritemizle(veriler):
sembolsuzsayilar = []
g = "dtype=uint8)(,.','a" "rray[]"
for t in veriler:
for h in g:
if h in t:
t = t.replace(h, "")
if (len(t) > -1):
sembolsuzsayilar.append(t)
return sembolsuzsayilar
with open("pixel.txt", "w")as f:
for item in semboleritemizle(veriler):
f.write("%s" % item)
with open('pixel.txt', 'r')as f:
sayilar = []
Kindi = f.read()
Kindi = Kindi.lstrip()
Kindi = Kindi.replace(" ", "")
q = (len(Kindi) - 100)
w = (len(Kindi) - 500)
e = (len(Kindi) - 50)
r = (len(Kindi) - 86)
f = (len(Kindi) - 15)
t = (len(Kindi) - 22)
y = (len(Kindi) - 55)
u = (len(Kindi) - 12)
o = (len(Kindi) - 155)
p = (len(Kindi) - 123)
a = (len(Kindi) - 55)
s = (len(Kindi) - 58)
d = (len(Kindi) - 99)
n = (len(Kindi) - 66)
g = (len(Kindi) - 77)
h = (len(Kindi) - 11)
j = (len(Kindi) - 22)
k = (len(Kindi) - 7)
l = (len(Kindi) - 42)
z = (len(Kindi) - 66)
x = (len(Kindi) - 112)
c = (len(Kindi) - 33)
v = (len(Kindi) - 47)
b = (len(Kindi) - 18)
i = (len(Kindi) - 29)
m = (len(Kindi) - 59)
tan = (q * w * e * r * t * y * u * o * p * a * s * d * n * g * h * j * k * l * z * x * c * v * b * m * i) * (
math.factorial(1111)) * (math.factorial(999))
sayilar.append(tan)
for kelime in sayilar:
x = str(random.randrange(0, 1))
print("\n\nProcessing:" + x + ".txt'dir.\n\n")
print("*" * 15, "PROCESS COMPLETED", "*" * 15)
with open("%s.txt" % x, "w")as f:
for item in sayilar:
sys.set_int_max_str_digits(6000)
f.write("%s" % item)
print(colored("Image Analysis Completed Successfully. Your Special Code:",'green'))
print(colored(sayilar,'red'))
def sifrele():
with open('0.txt', 'r')as f:
f_conte = f.read()
x = int(f_conte)
if x == x:
key = [(x // (10 ** i)) % 10 for i in range(math.ceil(math.log(x, 10)) - 1, -1, -1)]
toplam = 0
for letter in key:
toplam = toplam + letter
text = str(input("\n\nText:"))
text = text.lower()
letters = [c for c in text]
sifre = []
for letter in letters:
letter_as_num = sifreleme_sozlugu[letter]
sifre.append(letter_as_num)
tamkilit = []
for letter in sifre:
letter = letter * toplam
tamkilit.append(letter)
x = str(random.randrange(1, 10000))
print(colored("\n\nFile Name: " + x + ".txt'dir.\n\n",'blue'))
with open("%s.txt" % x, "w")as f:
for item in tamkilit:
f.write("%s\n" % item)
s = open("%s.txt" % x, "r")
print(colored("ENCRYPTION MESSAGE:",'green'))
print(colored("Your file has been successfully saved.",'green'))
print(colored(tamkilit,'red'))
def coz():
with open('0.txt', 'r')as f:
f_conte = f.read()
f_conte = f_conte.lstrip()
f_conte = f_conte.replace(" ", "")
x123 = int(f_conte)
print(colored("ENCRYPT Message to file Path'",'green'))
Metingiris = 1
if Metingiris == 1:
pass
else:
print("Feil input")
coz()
if Metingiris == 1:
Tamkilit = []
try:
with open(input("\nPlease enter the file Path:"), "r") as f:
for line in f:
Tamkilit.append(line.strip())
except:
print(colored("Not Found File:",'red'))
coz()
Coz = []
for i in Tamkilit:
Coz.append(int(i))
if Metingiris == 2:
Tamkilit = input(colored("Please enter the text to be solved:",'green'))
if Tamkilit.isdigit():
pass
else:
print(colored("Incorrect Text Entered Encrypted text cannot contain letters.Please enter again:",'red'))
coz()
if Tamkilit[0] == "[":
Tamkilit = Tamkilit[1:len(Tamkilit) - 1]
else:
Coz = Tamkilit.split(",")
Coz0 = []
for i in Coz:
Coz0.append(int(i))
key = [(x123 // (10 ** i)) % 10 for i in range(math.ceil(math.log(x123, 10)) - 1, -1, -1)]
toplam = 0
for i in key:
toplam = toplam + i
Coz1 = []
for i in Coz0:
if i % toplam == 0:
i = i / toplam
Coz1.append(i)
else:
print(colored("WRONG KEY OR ERROR PASSWORD:key entered by message does not match:",'red'))
coz()
COz2 = []
for i in Coz1:
letter_as_str = sifre_cozme_sozlugu[i]
COz2.append(letter_as_str)
cozum = "".join(COz2)
print(" ")
print(" ")
print(" ")
print(colored(cozum,'green'))
Devam = 'E'
while Devam == "E" or Devam == "e":
print(colored("\n\n(1) ENCRYPT (2) DECRYPT",'green'))
secim = input("\n>>>>")
if secim == '1':
sifrele()
if secim == '2':
coz()
print(" ")
print(" ")
Devam = input(colored("PRESS TO QUฤฐT 'ENTER' OR 'E' PRESS TO CONTฤฐNUE.",'blue'))