# String vertauschen?



## be.mobile (12. Mrz 2008)

Hi,

ich habe mir ein kleines Prog geschrieben, welches mir ein Passwort mt groß, kleinbuchstaben, zahlen, und sonderzeichen liefert, gespeichert wird es in einem String. Jetzt möchte ich nur noch wissen, ob es eine Funktion in Java gibt, mit der ich einen String mischen kann und zufällig wieder zusammen setzen kann oder ob ich mir da was eigenes infallen lassen muss!

Danke für eure Hilfe!

Gruß
be.mobile


----------



## Jango (12. Mrz 2008)

Den String in ein Char-Array umwandeln (String.toCharArray). Das Array kannst du dann mischen, wie du möchtest.


----------



## Sqwan (12. Mrz 2008)

Ich weiß nicht genau ob es deinen zweck erfüllt....
Aber vllt kannst du mal nach Base64 googlen. Damit kannste deinen verschlüsselten Text dann noch mal Base64 verschlüsseln... Vertauschen aber nicht


----------



## quippy (13. Mrz 2008)

Sqwan hat gesagt.:
			
		

> Ich weiß nicht genau ob es deinen zweck erfüllt....
> Aber vllt kannst du mal nach Base64 googlen. Damit kannste deinen verschlüsselten Text dann noch mal Base64 verschlüsseln... Vertauschen aber nicht



Base64 ist keine Verschlüsselung, sondern ein Encoding und damit so sicher wie Hochdeutsch in Bayrisch zu "encrypten"  - klar gibt es Leute, die dann nix mehr verstehen, aber wirklich verschlüsselt ist der Text nicht.

Hier findet man dazu auch was unter Punkt "4.8.4 Base64-Kodierung"


----------



## JavaSquall (13. Mrz 2008)

So nach dem ersten Kaffe darf dann auch die erste total kranke Idee aus meinem Kopf kommen.
Also 

1. wandel deinen String in ein Array um lass die die Länge von dem Array zurückliefern zb 7
2. lass dir Zufallszahlen von 0-6 erzeugen.
3.Setze an Hand der generierten Zufallszahlen deinen neuen String zusammen.

Musst natürlich noch ne prüfung einbauen, dass wenn eine Zahl schon mal generiert wurde, dass ihr dir dann direkt ne neue generiert ^^

Echt ne kranke idee wenn man bedenkt dass es schon genug Methoden gibt dir dir zufällig ein pw generieren.

kannst auch einefach nur zusatzzahlen generieren lassen und dann in das passende zeichen umwandeln
musst hakt nur sicherstellen in welchem bereich deine zeichen liegen sollen......
soo das wars dann mal muss ja auch mal arbeiten ^^


----------



## Murray (13. Mrz 2008)

be.mobile hat gesagt.:
			
		

> Jetzt möchte ich nur noch wissen, ob es eine Funktion in Java gibt, mit der ich einen String mischen kann und zufällig wieder zusammen setzen kann oder ob ich mir da was eigenes infallen lassen muss!



Zum "zufällig Zusammensetzen" geben die Standard-Bibliotheken nur für Lists etwas her, nicht aber für Arrays( warum? keine Ahnung - wenn es in java.util.Collections eine shuffle-Methode gibt, dann könnte es die eigentlich auch in java.util.Arrays geben; gibt es aber nicht).

Wenn Du die Standard-Funktionen verwenden willst, dann könntest Du den String zeichenweise in eine Liste kopieren, diese "shuffeln" und dann die Liste wieder in ein Array unwandeln.

Mir erscheint das aber zu umständlich - eine direkt auf dem Array arbeitende Lösung wäre sicher erheblich schneller.


----------

