71 lines
2.2 KiB
Python
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)
|