initial commit
This commit is contained in:
commit
bfeab95472
3 changed files with 192 additions and 0 deletions
30
decrypt.py
Normal file
30
decrypt.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/python
|
||||
# coding=utf8
|
||||
|
||||
import sys
|
||||
|
||||
chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', u'ä', u'ö', u'ü', ' ']
|
||||
|
||||
def decrypt(string):
|
||||
list = u"".join(string).split(' ')
|
||||
|
||||
chars_x = [i for i in chars]
|
||||
|
||||
chars_y = [i for i in chars]
|
||||
|
||||
move_x = int(list[0])
|
||||
move_y = int(list[1])
|
||||
|
||||
for i in xrange(move_x):
|
||||
chars_x.insert(0, chars_x.pop())
|
||||
for i in xrange(move_y):
|
||||
chars_y.insert(0, chars_y.pop())
|
||||
|
||||
output = ""
|
||||
|
||||
for num in [int(i) for i in list[2:]]:
|
||||
output+="%s%s"%(chars_x[(num-len(chars))%len(chars)-1], chars_y[int((num-len(chars)-1)/len(chars))])
|
||||
|
||||
print output
|
||||
|
||||
decrypt(sys.argv[1:])
|
33
encrypt.py
Normal file
33
encrypt.py
Normal file
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/python
|
||||
# coding=utf8
|
||||
|
||||
import sys
|
||||
|
||||
chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', u'ä', u'ö', u'ü', ' ']
|
||||
|
||||
def encrypt(string, x, y):
|
||||
if len(string) % 2 is not 0:
|
||||
string+=" "
|
||||
|
||||
string = string.decode("utf8")
|
||||
|
||||
char1 = [i for i in string[0:-1:2].lower()]
|
||||
char2 = [i for i in string[1::2].lower()]
|
||||
|
||||
chars_x = [i for i in chars]
|
||||
chars_y = [i for i in chars]
|
||||
|
||||
move_x = int(x)
|
||||
move_y = int(y)
|
||||
|
||||
for i in xrange(move_x):
|
||||
chars_x.insert(0, chars_x.pop())
|
||||
for i in xrange(move_y):
|
||||
chars_y.insert(0, chars_y.pop())
|
||||
|
||||
print "%03d %03d"%(move_x, move_y),
|
||||
|
||||
for i in xrange(len(char1)):
|
||||
print "%03d"%(chars_x.index(char1[i])+len(chars_x)*(chars_y.index(char2[i]))+len(chars_x)+1),
|
||||
|
||||
encrypt(' '.join(sys.argv[3:]), sys.argv[1], sys.argv[2])
|
129
enig2d.py
Normal file
129
enig2d.py
Normal file
|
@ -0,0 +1,129 @@
|
|||
#!/usr/bin/python
|
||||
# coding=utf8
|
||||
|
||||
import gtk
|
||||
|
||||
chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', u'ä', u'ö', u'ü', ' ']
|
||||
|
||||
def encrypt(string, x, y):
|
||||
string = string.decode("utf8")
|
||||
temp = ""
|
||||
|
||||
for char in string:
|
||||
if char in chars:
|
||||
temp += char
|
||||
else:
|
||||
temp += " "
|
||||
string = temp
|
||||
|
||||
if len(string) % 2 is not 0:
|
||||
string+=" "
|
||||
|
||||
char1 = [i for i in string[0:-1:2].lower()]
|
||||
char2 = [i for i in string[1::2].lower()]
|
||||
|
||||
chars_x = [i for i in chars]
|
||||
chars_y = [i for i in chars]
|
||||
|
||||
move_x = int(x)
|
||||
move_y = int(y)
|
||||
|
||||
for i in xrange(move_x):
|
||||
chars_x.insert(0, chars_x.pop())
|
||||
for i in xrange(move_y):
|
||||
chars_y.insert(0, chars_y.pop())
|
||||
|
||||
result = ""
|
||||
result += "%03d %03d "%(move_x, move_y)
|
||||
|
||||
for i in xrange(len(char1)):
|
||||
result += "%03d "%(chars_x.index(char1[i])+len(chars_x)*(chars_y.index(char2[i]))+len(chars_x)+1)
|
||||
|
||||
return result
|
||||
|
||||
def decrypt(string):
|
||||
string = u"".join(string).rstrip(" ").split(' ')
|
||||
chars_x = [i for i in chars]
|
||||
|
||||
chars_y = [i for i in chars]
|
||||
|
||||
move_x = int(string[0])
|
||||
move_y = int(string[1])
|
||||
|
||||
for i in xrange(move_x):
|
||||
chars_x.insert(0, chars_x.pop())
|
||||
for i in xrange(move_y):
|
||||
chars_y.insert(0, chars_y.pop())
|
||||
|
||||
output = ""
|
||||
|
||||
for num in [int(i) for i in string[2:]]:
|
||||
output+="%s%s"%(chars_x[(num-len(chars))%len(chars)-1], chars_y[int((num-len(chars)-1)/len(chars))])
|
||||
|
||||
return output
|
||||
|
||||
def delete_event(widget, event, data=None):
|
||||
return False
|
||||
|
||||
def destroy(widget, data=None):
|
||||
gtk.main_quit()
|
||||
|
||||
def code(widget):
|
||||
global textbuffer
|
||||
start, end = textbuffer.get_bounds()
|
||||
if widget.get_label() == "encode":
|
||||
try:
|
||||
textbuffer.set_text(encrypt(textbuffer.get_text(start, end),
|
||||
spinner_x.get_value_as_int(),
|
||||
spinner_y.get_value_as_int()))
|
||||
except:
|
||||
raise
|
||||
widget.set_label("decode")
|
||||
else:
|
||||
try:
|
||||
textbuffer.set_text(decrypt(textbuffer.get_text(start, end)))
|
||||
except:
|
||||
raise
|
||||
widget.set_label("encode")
|
||||
|
||||
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
|
||||
window.connect("delete_event", delete_event)
|
||||
window.connect("destroy", destroy)
|
||||
window.show()
|
||||
|
||||
vbox = gtk.VBox()
|
||||
window.add(vbox)
|
||||
vbox.show()
|
||||
|
||||
sw = gtk.ScrolledWindow()
|
||||
sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
|
||||
textview = gtk.TextView()
|
||||
textview.set_wrap_mode(gtk.WRAP_WORD)
|
||||
textbuffer = textview.get_buffer()
|
||||
sw.add(textview)
|
||||
sw.show()
|
||||
textview.show()
|
||||
|
||||
vbox.pack_start(sw)
|
||||
|
||||
hbox = gtk.HBox()
|
||||
vbox.pack_start(hbox, False, True, 0)
|
||||
hbox.show()
|
||||
|
||||
button = gtk.Button("encode")
|
||||
button.connect("clicked", code)
|
||||
hbox.pack_start(button)
|
||||
button.show()
|
||||
|
||||
adjustment_x = gtk.Adjustment(value=0, lower=0, upper=30, step_incr=1, page_incr=0, page_size=0)
|
||||
spinner_x = gtk.SpinButton(adjustment_x, 0, 0)
|
||||
hbox.pack_start(spinner_x)
|
||||
spinner_x.show()
|
||||
|
||||
adjustment_y = gtk.Adjustment(value=0, lower=0, upper=30, step_incr=1, page_incr=0, page_size=0)
|
||||
spinner_y = gtk.SpinButton(adjustment_y, 0, 0)
|
||||
hbox.pack_start(spinner_y)
|
||||
spinner_y.show()
|
||||
|
||||
gtk.main()
|
||||
|
Loading…
Reference in a new issue