Hi Leute,
hab mal ne Frage, da ich gerade an einem Algorithmus für eine "Leetspeak Verschlüsselung" sitze die möglichst sinnvoll sein soll (für die die Leetspeak nicht kennen -> Wikipedia).
Ja, ich weiß... Google gibt jede menge Treffer wenn man nach "csharp leetspeak" sucht aus.
Die machen das aber alles mit zwei Buttons, einen zum verschlüsseln und einen zum entschlüsseln und ich dachte mir das muss doch einfacher gehen.
Eine Leetspeak Verschlüsselung mit einem Button!? Meine Klasse sieht bisher so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| private Dictionary<char, char> charDict = new Dictionary<char, char>();
public Leetspeak() { charDict.Add('a', '4'); charDict.Add('4', 'a');
charDict.Add('b', '8'); charDict.Add('8', 'b');
}
public string Convert(string sText) { StringBuilder sBuilder = new StringBuilder(sText); charDict.Keys.ToList().ForEach(key => sBuilder.Replace(key, charDict[key])); return sBuilder.ToString(); } |
Das ganze soll aus jedem "a" eine "4" und aus jeder 4 ein a machen.
Leider macht er aus jedem a eine 4 und nimmt dann wieder die 4 und macht daraus ein a, kurz gesagt: es bleibt ein a.
Gibt es eine Möglichkeit, dass wenn er ein Char ersetzt hat diesen Char nicht mehr ersetzt, sondern gleich mit dem nächsten Zeichen weiter macht?