#!/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)