Files

70 lines
2.3 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf8 -*-
# PW1 WIKIPEDIA
# PW2 BEOBACHTUNGSLISTE
# ausgabe_az09 FAFGA DDAFD DVAFA DGGXA VAGDG GDGDF ADFAF FAAVG ADAVG XAAVF FAVDA GAGGG GVVAD GFADF DAFDD DFDGA GAFGV DGAVF FDDGG DGXFV DDDVA DFVFF DGGGV FXDVG GGGFV D
# ausgabe_90za VAVGA DDAVD XVAVA DGVDA VAGDG GXGDV AXVAV VAAVG AXAFG DAAFV FAVXA GAGGG GFFAD GVAXV XAVXX XVXGA GAVGV XGAVV VDXGG DGDVV XXXVA DVVVV XGGGF VDXVG GGGVF X
# text="FAFGA DDAFD DVAFA DGGXA VAGDG GDGDF ADFAF FAAVG ADAVG XAAVF FAVDA GAGGG GVVAD GFADF DAFDD DFDGA GAFGV DGAVF FDDGG DGXFV DDDVA DFVFF DGGGV FXDVG GGGFV D"
text = "VAVGA DDAVD XVAVA DGVDA VAGDG GXGDV AXVAV VAAVG AXAFG DAAFV FAVXA GAGGG GFFAD GVAXV XAVXX XVXGA GAVGV XGAVV VDXGG DGDVV XXXVA DVVVV XGGGF VDXVG GGGVF X"
PW = "wikipedia, beobachtungsliste"
# PW auf Komma prüfen!!!
RN = ["AA", "AD", "AF", "AG", "AV", "AX", "DA", "DD", "DF", "DG", "DV", "DX", "FA", "FD", "FF", "FG", "FV", "FX", "GA",
"GD", "GF", "GG", "GV", "GX", "VA", "VD", "VF", "VG", "VV", "VX", "XA", "XD", "XF", "XG", "XV", "XX"]
alpha_az09 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
alpha_90za = "9876543210ZYXWVUTSRQPONMLKJIHGFEDCBA"
text = text.upper()
PW = PW.upper()
PW = PW.split(",")
PW1az09 = ""
for b in PW[0]+alpha_az09:
if b in alpha_az09 and b not in PW1az09:
PW1az09 += b
PW190za = ""
for b in PW[0]+alpha_90za:
if b in alpha_90za and b not in PW190za:
PW190za += b
PW2 = ""
for i in PW[1]:
if i in alpha_az09:
PW2 += i
ctext = ""
for i in text:
if i in alpha_az09:
ctext += i
WBaz09 = {}
for i in range(36):
WBaz09[RN[i]] = PW1az09[i]
WB90za = {}
for i in range(36):
WB90za[RN[i]] = PW190za[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_az09 = ""
for i in range(0, len(ctext), 2):
bi = ctext[i:i+2]
if bi in WBaz09:
klartext_az09 += WBaz09[bi]
klartext_90za = ""
for i in range(0, len(ctext), 2):
bi = ctext[i:i+2]
if bi in WB90za:
klartext_90za += WB90za[bi]
print("PW1", PW[0])
print("PW2", PW2)
print("klartext_az", klartext_az09)
print("klartext_za", klartext_90za)