In einem anderen Forum wurde die Frage gestellt, ob jemand den "Code" knacken könnte, der zu den Zeichenketten von Zeile 5 im Python-Code geführt hat. (Leider wird das eine Apostroph nicht richtig angezeigt...) Da das ziemlich wenig Text ist, dachte ich, ich lasse mir ein paar Anregungen geben. Ich habe also (etwas umständlich, eine rein string-basierte Lösung wäre vermutlich weit eleganter) versucht, einfach mal zufällige Alphabete zu erzeugen und zu probieren, ob ein kurzer, gebräuchlicher Wortteil in dem "codierten" Textfetzen vorkommt.
Code: Alles auswählen
import random
alphabet = [["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"]]
input1 = "Neben Tod, Mars, off’nen real. ... Ali Moselm null. Aber Susi Moslem im Nennen. Saga Otto, Mirja."
i = 0
output = []
n = 0
while True:
mixedup = random.sample(alphabet[::],26) # hier versuche ich zufällige Alphabete zu erzeugen
newout = []
outputstring = " "
reversestring = " "
for i in range(len(input1)):
if input1[i] in (",", ".", "'", "’", " "): # == "," or "." or "'" or "’":
newout.append(input1[i])
else:
lowerstring = string.lower(input1[i])
# print lowerstring
oripos = alphabet.index([lowerstring])
newout.append(mixedup[oripos])
buchst = str(mixedup[oripos])
if input1[i] in (",", ".", "'", "’", " "): # == "," or "." or "'" or "’":
outputstring = outputstring + input1[i]
reversestring = input1[i] + reversestring
else:
outputstring = outputstring + buchst[2]
reversestring = buchst[2] + reversestring
l = len(outputstring)
if l > len(input1):
n = n+1
if ("komm" or "soll" or "hab" or "wird") in outputstring:
print n, ":", outputstring
if ("komm" or "soll" or "hab" or "wird") in reversestring:
print n, ":", reversestring
output.append(newout[::])
#print output
print "done"
Code: Alles auswählen
17493 : kjljk bxr, cpaz, xii’kjk ajpm. ... pmw cxzjmc komm. plja zozw cxzmjc wc kjkkjk. zpnp xbbx, cwaqp.
41034 : kuquk nlj, gbie, laa’kuk iubm. ... bmp gleumg komm. bqui eoep glemug pg kukkuk. ebrb lnnl, gpisb.
43107 : kdndk ife, twuq, fyy’kdk udwm. ... wma tfqdmt komm. wndu qoqa tfqmdt at kdkkdk. qwrw fiif, tausw.
82325 : kznzk bcw, edyq, cuu’kzk yzdm. ... dma ecqzme komm. dnzy qoqa ecqmze ae kzkkzk. qdgd cbbc, eaypd.
88832 : kpwpk faq, xbrd, azz’kpk rpbm. ... bmy xadpmx komm. bwpr dody xadmpx yx kpkkpk. dbib affa, xyrcb.
98671 : kbzbk apt, efri, puu’kbk rbfm. ... fmv epibme komm. fzbr ioiv epimbe ve kbkkbk. ifxf paap, evrcf.
113131 : kybyk rji, vufa, jee’kyk fyum. ... umq vjaymv komm. ubyf aoaq vjamyv qv kykkyk. aulu jrrj, vqfzu.
142848 : keiek fbr, vnda, bgg’kek denm. ... nmh vbaemv komm. nied aoah vbamev hv kekkek. anun bffb, vhdsn.
186104 : kedek tfj, avgw, fuu’kek gevm. ... vmi afwema komm. vdeg wowi afwmea ia kekkek. wvhv fttf, aigrv.
188290 : kznzk lbw, agic, bvv’kzk izgm. ... gmy abczma komm. gnzi cocy abcmza ya kzkkzk. cgeg bllb, ayiug.
194498 : ktytk zif, pqvd, ixx’ktk vtqm. ... qme pidtmp komm. qytv dode pidmtp ep ktkktk. dqaq izzi, pevlq.
198246 : kfifk gax, tnzv, ahh’kfk zfnm. ... nmw tavfmt komm. nifz vovw tavmft wt kfkkfk. vnsn agga, twzun.
230414 : kuquk nyg, rwps, yjj’kuk puwm. ... wmz rysumr komm. wqup sosz rysmur zr kukkuk. swtw ynny, rzpbw.
236041 : kcjck igw, lzet, gss’kck eczm. ... zmp lgtcml komm. zjce totp lgtmcl pl kckkck. tznz giig, lperz.
268351 : kjdjk bwi, ervs, wll’kjk vjrm. ... rmq ewsjme komm. rdjv sosq ewsmje qe kjkkjk. srzr wbbw, eqvcr.
269082 : kiwik gby, djqp, bll’kik qijm. ... jmr dbpimd komm. jwiq popr dbpmid rd kikkik. pjzj bggb, drqaj.
273121 : ksysk btq, pljc, tvv’ksk jslm. ... lmf ptcsmp komm. lysj cocf ptcmsp fp kskksk. clil tbbt, pfjgl.
279460 : knrnk dyx, zfuv, yll’knk unfm. ... fmb zyvnmz komm. frnu vovb zyvmnz bz knkknk. vfpf yddy, zbutf.
281104 : kehek bfi, yzxp, fnn’kek xezm. ... zmj yfpemy komm. zhex popj yfpmey jy kekkek. pzcz fbbf, yjxvz.
283488 : kiyik rjf, uvdn, jpp’kik divm. ... vmh ujnimu komm. vyid nonh ujnmiu hu kikkik. nvqv jrrj, uhdav.
284512 : kbubk caf, ghez, arr’kbk ebhm. ... hmv gazbmg komm. hube zozv gazmbg vg kbkkbk. zhdh acca, gvewh.
293803 : kprpk dwf, euti, wll’kpk tpum. ... umv ewipme komm. urpt ioiv ewimpe ve kpkkpk. iuju wddw, evtsu.
313524 : krtrk dfq, azsl, fgg’krk srzm. ... zmv aflrma komm. ztrs lolv aflmra va krkkrk. lznz fddf, avsuz.
321801 : kfpfk ier, vwuj, ehh’kfk ufwm. ... wmg vejfmv komm. wpfu jojg vejmfv gv kfkkfk. jwaw eiie, vguzw.
350040 : kfifk dwt, glsj, wpp’kfk sflm. ... lmz gwjfmg komm. lifs jojz gwjmfg zg kfkkfk. jlql wddw, gzsvl.
355223 : kipik ylq, cwgz, ldd’kik giwm. ... wms clzimc komm. wpig zozs clzmic sc kikkik. zwuw lyyl, csgnw.
361669 : krwrk qfn, lcsx, fvv’krk srcm. ... cma lfxrml komm. cwrs xoxa lfxmrl al krkkrk. xcdc fqqf, lasjc.
363983 : kqyqk ezv, bual, zxx’kqk aqum. ... umj bzlqmb komm. uyqa lolj bzlmqb jb kqkkqk. lusu zeez, bjagu.
375656 : kvrvk ciy, dnfx, izz’kvk fvnm. ... nml dixvmd komm. nrvf xoxl dixmvd ld kvkkvk. xntn icci, dlfan.
377872 : khfhk lep, caiy, egg’khk iham. ... ams ceyhmc komm. afhi yoys ceymhc sc khkkhk. yaua elle, csiba.
408892 : kqpqk uls, cbie, lrr’kqk iqbm. ... bmn cleqmc komm. bpqi eoen clemqc nc kqkkqk. ebfb luul, cnitb.
410629 : kjzjk anv, yplu, nxx’kjk ljpm. ... pmw ynujmy komm. pzjl uouw ynumjy wy kjkkjk. upqp naan, ywlcp.
(Das Verhalten ist zumindest derzeit auf meinem Rechner reproduzierbar.) Liegt das an einem Fehler in meinem Code, an der Funktionsweise von random.sample() - oder ist das einfach absoluter Zufall ?
Ersetze ich "komm" durch "mach", ist das Ergebnis übrigens "gemischter"...