Entschlüsselung

  • hi,

    ich bin gerade dabei ein entschlüssellungsprogramm zu schreiben. ich weiß jetzt nur nicht wie ich das machen soll.
    also ich habe mehrere array die mit stringsplit erstellt wurden, also jedes array beinhaltet eine zahl die einen bestimmten buchstaben darstellen soll.
    nun weiß ich nicht wie ich das anstellen soll das die inhalte der arrays entschlüssselt werden. z.b. 1234 soll in A umgewandelt werden.
    hoffe mal ihr könnt mir helfen ;) wenn ihr noch mehr infos braucht dann bitte bescheid sagen. ;)

  • ok stringreplace find ich gut^^

    muss ich jetzt für jeder buchstaben einen neuen befehl schreiben? oder kann ich auch irgendwie alles in einen rutsch machen?

  • der Source wäre schön ;)

    so aus dem stegreif würd ich wie auf schon über icq gesagt wieder mit einer forschleife arbeten ;)

    grez

  • hmm....irgendwie bekomm ihc das einfach nicht gebacken :(

    kann mir vllt jemand ein kleines beispiel script schreiben??? in dem 2 zahlen in buchstaben gewandelt werden. die zahlen müssen aber änderbar sein da meine aus einer ini datei ausgelesen werden.

  • Oscar : also dein beispiel is richtig. ich habe ein paar zahlen die in buchstaben gewandelt werdne sollen. z.b. ich habe 1 die 1 soll nun in ein A umgewandelt werden. das problem ist nur das ich nicht weiß wie ich das anstellen soll da ich mehrere zahlen hab die gewandelt werden sollen. und da weiß ich halt nicht wie ich das machen kann das die zahl erkannt wird ich habe s mit stringreplace versucht, hab es aber nicht so richtig hinbekommen. :(

    zu deiner idee mit stringencrypt(): kann man denn die zahlen auswählen die gewandelt werdne sollen? ich glaube nicht. :(

    also ich hab mir das ungefähr so vorgestellt.:

    [autoit]

    func _umwandeln($string)

    [/autoit][autoit][/autoit][autoit]

    $bla = stringsplit($string,"")
    ;was hier nun hinkommen soll weiß ich nicht.
    endfunc

    [/autoit]
    • Offizieller Beitrag

    Nein! Ich verstehe die Idee hinter Deinem Scriptwunsch nicht.
    _StingEncrypt() hatte ich vorgeschlagen, weil ich dachte Du brauchst eine Verschlüsselungsroutine.

    Gib doch mal ein Beispiel, was dabei rauskommen soll. Also Quelltext und gewünschter Zieltext oder eben Zahlen. Da muß Dir doch was vorschweben.

  • ok heir mal ein beispiel: ich habe die zahlen 12 34 56 78 90 123 456 789 und diese möchte ich nun in bestimmte buchstabeln umwandeln. also A B C D usw. sprich 12 = A, 34 = B, 56 = C, 78 = D usw.

    mehr will ich gar nicht haben ich weiß eben nur nicht wie ich das angehen soll.

    [autoit]

    $string = "12 34 56 78 90"

    [/autoit][autoit][/autoit][autoit]

    wandeln($string)

    [/autoit][autoit][/autoit][autoit]

    func wandeln($Text)
    ... ; ich weiß also nich wie ich es wandeln soll das aus z.b. 12 ein A wird aus 123 ein B usw
    return $gewandelter_string
    endfunc

    [/autoit]

    hoffe mal das du es jetzt verstanden hast.

  • hi

    Schau dir bitte nochmal die funktion an die ich dir gegeben habe ;) (die mit chr) und versuch sie zu verstehen


    grez

    • Offizieller Beitrag

    Ich habe Dir mal ein Beispielscript geschrieben:

    [autoit]


    #include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    $reihe = '75 86 249 141 130 62 228 60 212 129 164 100 176 159 71 157 163 90 11 53 24 144 122 210 149 216 76 180 250 12 58 83 160 29 57 116 10 80 95 113 150 69 185 72 172 64 140 245 99 208 81 197 123 89 153 171 36 151 142 226 102 15 109 188 55 52 225 31 199 231 117 254 137 134 152 229 203 219 154 77 18 125 93 104 94 148 145 132 240 244 235 135 9 42 79 173 182 128 49 32 67 115 131 196 66 178 166 146 103 167 251 21 85 40 175 243 177 5 23 118 98 223 35 174 74 224 120 112 158 179 183 33 91 205 56 168 147 234 121 47 0 232 221 139 14 68 155 215 189 38 4 70 101 92 236 161 181 217 37 206 162 13 50 143 201 61 126 20 1 214 6 17 186 110 28 165 169 241 187 192 213 46 248 108 82 84 88 233 73 63 222 44 194 16 106 54 119 247 65 200 59 96 97 156 191 105 8 19 190 211 207 87 239 111 22 127 227 242 198 39 209 204 252 195 27 184 45 34 170 3 237 230 107 136 253 51 218 78 26 124 138 246 193 25 255 114 133 43 238 7 202 48 41 220 30 2'
    $zahlen = StringSplit($reihe, ' ')

    [/autoit][autoit][/autoit][autoit]

    $text = 'hier steht der zu verschlüsselnde Text drin'
    $ar_text = StringSplit($text, '')
    $ziel = ''
    For $i = 1 To $ar_text[0]
    $ziel &= $zahlen[Asc($ar_text[$i])] & ' '
    Next
    MsgBox(0, '', $ziel)

    [/autoit]

    $reihe besteht aus 256 Zahlen (zwischen 0 und 255), von denen jede nur einmal vorkommen darf. Der Rest sollte ersichtlich sein.

    Edit: Ich wollt noch erwähnen, dass diese Art der Verschlüsselung nicht sehr sicher ist, weil man aufgrund der Häufigkeitsverteilung der Zahlen auf die jeweiligen Buchstaben schließen kann.

  • Oscar : DARF jede zahl nur einmal vorkommen oder was? weil wenn ja dann ist das natürlich nicht so gut weil es sich ja um einen verschlüsselten text handelt und man sicher mehr als einmal z.b. das E verwenden wird wenn man etwas schreibt.

  • hi xeno,

    genau so hab ich das gemeint. entlich mal einer der mich versteht^^ xD

    kannst du mir da irgendwie helfen oder eine kleine anregung geben?

    thx für alle bisherigen und folgenden antworten. ;)

    • Offizieller Beitrag

    Hi,

    vielleicht hilft dir dies:

    [autoit]

    Global $text = '012345 Mensch Hallo 2 qeqweqew'

    [/autoit][autoit][/autoit][autoit]

    ConsoleWrite(_mapping($text) & @CRLF)

    [/autoit][autoit][/autoit][autoit]

    Func _mapping($text)
    Local $ursprung_A = StringSplit('0,1,2,3,4,5', ',')
    Local $mapping_A = StringSplit('a,b,c,d,e,f', ',')
    If UBound($ursprung_A) <> UBound($mapping_A) Then Return -1
    For $i = 1 To UBound($ursprung_A) - 1
    $text = StringReplace($text, $ursprung_A[$i], $mapping_A[$i], 0, 1)
    Next
    Return $text
    EndFunc ;==>_mapping

    [/autoit]

    So long,

    Mega