Files

71 lines
2.2 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf8 -*-
# ausgabe_za FFFGA DDDFD DXAXA DAGDA XAXDX XFXDF DFGAG FAAXG AGAAG DAAAF FAXFA AAAGX XAAAD GGAFG FAXDG DXFAA XAGXX FXAXF XDDXG DGDFX FGFXA DFXFX FAXGA GDFXG XXXFA D
# ausgabe_za GXGGA DDDGD XXAFA DDFAA XAFDF FXFDG DXGAG GAAXF AGADF AAADG FAXXA DADFF FDDAD FGAXG XAFXG XFXDA FAGFX XFAXG FDXFF DFAGX XGXXA DGXGF XDFFD GAXXF FFFGD X
# text="Munitionierung beschleunigen Punkt Soweit nicht eingesehen auch bei Tag"
# PW="wikipedia, beobachtungsliste"
text = "GXGGA DDDGD XXAFA DDFAA XAFDF FXFDG DXGAG GAAXF AGADF AAADG FAXXA DADFF FDDAD FGAXG XAFXG XFXDA FAGFX XFAXG FDXFF DFAGX XGXXA DGXGF XDFFD GAXXF FFFGD X"
PW = "wikipedia, beobachtungsliste"
# PW auf Komma prüfen!!!
RN = ["AA", "AD", "AF", "AG", "AX", "DA", "DD", "DF", "DG", "DX", "FA", "FD", "FF", "FG", "FX", "GA", "GD", "GF", "GG",
"GX", "XA", "XD", "XF", "XG", "XX"]
alpha_az = "ABCDEFGHIKLMNOPQRSTUVWXYZ" # j wird durch i ersetzt
alpha_za = "ZYXWVUTSRQPONMLKIHGFEDCBA"
text = text.upper()
textij = text.replace("J", "I")
PW = PW.upper()
PW = PW.replace("J", "I")
PW = PW.split(",")
PW1az = ""
for b in PW[0] + alpha_az:
if b in alpha_az and b not in PW1az:
PW1az += b
PW1za = ""
for b in PW[0] + alpha_za:
if b in alpha_za and b not in PW1za:
PW1za += b
PW2 = ""
for i in PW[1]:
if i in alpha_az:
PW2 += i
ctext = ""
for i in textij:
if i in alpha_az:
ctext += i
WBaz = {}
for i in range(25):
WBaz[RN[i]] = PW1az[i]
WBza = {}
for i in range(25):
WBza[RN[i]] = PW1za[i]
ret = ['_'] * len(ctext)
lt, lp = len(ctext), len(PW2)
t1 = [(PW2[i], i) for i in range(len(PW2))]
ind = [q[1] for q in sorted(t1)]
upto = 0
for i in range(len(PW2)):
tic = int(lt / lp)
if ind[i] < lt % lp:
tic += 1
ret[ind[i]::lp] = ctext[upto:upto + tic]
upto += tic
ctext = ''.join(ret)
klartext_az = ""
for i in range(0, len(ctext), 2):
bi = ctext[i:i + 2]
if bi in WBaz:
klartext_az += WBaz[bi]
klartext_za = ""
for i in range(0, len(ctext), 2):
bi = ctext[i:i + 2]
if bi in WBza:
klartext_za += WBza[bi]
print("PW1", PW[0])
print("PW2", PW2)
print("klartext_az", klartext_az)
print("klartext_za", klartext_za)