Das ganze sollte reproduzierbar Zufällig sein Also mit einem gleichen SeedWort kommt das selbe herraus.
Meine Idee ist es nun zwei Zufällige Positionen zu bestimmen (Pos1 und Pos2) und die zeichen an dieser Stelle zu tauschen.
leider hatte ich kenne ich keine Möglichkeit, das elegant zu machen. Es ist zwar ein leichtes ein Zeichen an einer bestimmten Stelle zu erhalten (Zeichen1=RndAscii[Pos1]) aber ich weiß nicht, wie man an beine bestimmten Stelle ein anderes Zeichen einfügen kann, außer die Geschichte mit "RndAscii=RndAscii[:Pos1]+Zeichen2+RndAscii[Pos1+1:]"
Code: Alles auswählen
from random import Random
def RandomAscii(RndAscii, SeedWort):
seed=0
for a in SeedWort: seed+=ord(a)
rnd = Random(seed)
max=len(RndAscii)-1
for i in range(50):
Pos1=rnd.randint(1,max)
Zeichen1=RndAscii[Pos1]
Pos2=rnd.randint(1,max)
Zeichen2=RndAscii[Pos2]
RndAscii=RndAscii[:Pos1]+Zeichen2+RndAscii[Pos1+1:]
RndAscii=RndAscii[:Pos2]+Zeichen1+RndAscii[Pos2+1:]
return RndAscii
SourceText="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
print RandomAscii(SourceText,"1234")
Code: Alles auswählen
0AbmW56cwMJI4guzBTiC8LaNxDQqSnUyZ3Ov12rd9fVhXjkeHYopRGtsK7EPlF