1 """
 2 Mangle words so they look somehwat like "obfuscated text".
 3 
 4 The strange think is that human brains still can read that -
 5 but not the machines at <insert your favourite secret service here>.
 6 
 7 It could also be used to prevent access to internet sites by robots.
 8 It has the advantage of not needing a graphical display.
 9 
 10 Can braille users read it to?
 11 
 12 Usage:
 13 
 14 this is a filter - it reads input from stdin and outputs the result on stdout
 15 
 16 Sample Input:
 17 
 18 Gemäß einer Studie einer englischen Universität ist es nicht wichtig
 19 in welcher Reihenfolge die Buchstaben in einem Wort sind, das Einzige,
 20 was wichtig ist, ist dass der erste und der letzte Buchstabe an der
 21 richtigen Position sind. Der Rest kann ein totaler Blödsinn sein,
 22 trotzdem kann man ihn ohne Probleme lesen.
 23 
 24 Das ist so, weil wir nicht jeden Buchstaben einzeln lesen, sondern das
 25 Wort als gesamtes. Das geht wirklich!
 26 
 27 Sample output:
 28 
 29 Gmäeß enier Stduie eenir ecgshilenn Uvrnäiestit ist es nciht withicg in wceehlr
 30 Rleohfinege die Btachesubn in eniem Wort sdin, das Eiignze, was witcihg ist, ist
 31 dsas der etsre und der ltetze Busthcabe an der rceihtgin Pitosoin sndi. Der
 32 Rset knan ein tlotear Bliösndn snie, trdeoztm knan man ihn ohne Pmbolree lenes. Das
 33 ist so, weil wir nihct jeden Beusbctahn enelzin lesen, sorendn das Wrot als gmstaees.
 34 Das ghet whiclkri!
 35 """
 36 
 37 import random, sys
 38 
 39 text = sys.stdin.read()
 40 words = text.split()
 41 randomizer = random.Random()
 42 
 43 for i in range(0, len(words)):
 44  word = words[i]
 45  middle = list(word[1:-1])
 46  randomizer.shuffle(middle)
 47  word = word[0] + ''.join(middle) + word[-1]
 48  words[i] = word
 49 
 50 sys.stdout.write(''.join(words))

Python/ObfuscatedText (zuletzt geändert am 2007年12月23日 22:49:06 durch localhost)

AltStyle によって変換されたページ (->オリジナル) /