initial commit

This commit is contained in:
josch 2014-06-25 23:34:55 +02:00
commit bfeab95472
3 changed files with 192 additions and 0 deletions

30
decrypt.py Normal file
View 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
View 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
View 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()