![]() |
|
|
|||||||
| Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Neuer Benutzer
Bit
Registriert seit: 10.01.2008
Fachbeiträge: 6
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo zusammen,
ich habe ein kleines Problem: Ich muss 2 Möglichkeiten finden, einen String zu verschlüsseln. Dies darf ich leider nicht mit den vorhandenen Bibliotheken machen. Dafür werden keine Anforderungen an die tatsächliche Sicherheit gestellt. Ich hab mir nach einiger Recherche den Caesar Sypher ausgesucht. Der macht bei mir auch was er soll... jedenfalls so großteilig... manchmal kommen völlig wirre Ergebnisse. Wo liegt der Fehler in meinem Code? (die Variable key gibt dabei die Verschiebung an, also bei 3 wird aus a ein d usw., die Variable value ist für den String reserviert). Verschlüsselung: Code:
public String enCrypt(String value, int key) {
String edited = value;
StringBuffer ergebnis = new StringBuffer();
for( int i = 0; i < edited.length(); i++ )
{
int c = edited.charAt( i );
if ( (c >= 'A') && (c <= 'z') ) {
c += key;
if( c > 'z' )
c = 'a' + c % 'z' -1;
if( (c > 'Z') && (c < 'a') )
c = 'A' + c % 'Z' - 1;
}
ergebnis.append( (char) c );
}
return ergebnis.toString();
}
Code:
public String deCrypt(String value, int key) {
String edited = value;
StringBuffer ergebnis = new StringBuffer();
for( int i = 0; i < edited.length(); i++ )
{
int c = edited.charAt( i );
if ( (c >= 'A') && (c <= 'z') ) {
c -= key;
if( (c < 'a') && (c > 'Z') )
c = 'a' + ('z' - c % 'a') - 1;
if( c < 'A' )
c = 'A' + ('Z' - c % 'A') - 1;
}
ergebnis.append( (char) c );
}
return ergebnis.toString();
}
Im Vorraus schon mal vielen Dank Grüsse, Bongi P.S: Noch mal zur Klarheit: Der Nutzer soll einen String eingeben können, erhält daraufhin wieder einen String zurück welchen er wieder eingeben kann und quasi "zurückübersetzen" lassen kann... im 2. Fall halt mit einem einfach Passwort.[/code] |
|
|
| #3 (permalink) | |
|
Stammbenutzer
Kilobyte
Registriert seit: 27.11.2007
Fachbeiträge: 150
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
naja, wenn du irgendeinen algorithmus mit passwort brauchst, dann nimm doch einfach die caesar-chiffre und bilde das eingegebene passwort einfach auf eine zahl ab... diese zahl ist dann dein caesar schlüssel... oder muss die passwort chiffre ausdrücklich eine andere als die caesar chiffre sein??
zum thema caesar-chiffre gab es hier übrigens schon ein paar beiträge in letzter zeit! z.b.: http://www.java-forum.org/de/viewtop...postorder=asc& |
|
|
| #4 (permalink) | |
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 10.01.2008
Fachbeiträge: 6
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo zusammen,
es muss nicht etwas anderes sein, es soll etwas anderes sein (ich will das es etwas anderes ist)... an dieser Stelle danke für den Tip mit dem Vigenère, bin grade drüber das auszuprobieren. Die Idee mit dem Passwort auf eine Zahl abbilden verstehe ich aber nicht... was genau meinst du damit? (oder ich steh grad auf dem schlauch... kann auch sein... :?: ) Grüsse, Beregond |
|
|
| #5 (permalink) | ||||||||||||||||
|
Stammbenutzer
Kilobyte
Registriert seit: 27.11.2007
Fachbeiträge: 150
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
eine ganz einfache möglichkeit wäre es zum beispiel die ascii-werte aufzuaddieren: Code:
String passwort = "qwertz";
int caesarSchluessel = 0;
for (int i=0; i<passwort.length(); i++) {
caesarSchluessel += passwort.charAt((int)i);
}
...
z.b.: passwort = "qwertz" schlüssel = qwertzqwertzqwertzqwertzqwertzqwert text = das hier ist ein zu veschlüsselnder text chiffrat = (q+d % 26)(w+a % 26)(e+s % 26)... ach, da gibts beliebig viele möglichkeiten, wie du mit einem passwort verschlüsseln kannst (vorausgesetzt, die sicherheit spielt keine rolle)! |
|||||||||||||||
|
|
||||||||||||||||
| #6 (permalink) | |
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 10.01.2008
Fachbeiträge: 6
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Jetzt hab ichs verstanden... Danke nochmal... habe jetzt das Programm am laufen (dank Eurer Tipps), und es funktioniert richtig gut
![]() Muchas Gracias, ich verabschiede mich ins Wochenende. Grüsse, Beregond |
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Verschlüsseln | redpoint007 | Allgemeine Java-Themen | 3 | 15.04.2008 08:15 |
| strings in datei verschlüsseln , auslesen mit klartext aber! | Hölderlein | Allgemeine Java-Themen | 2 | 28.08.2007 23:13 |
| RMI SSL verschlüsseln | Netzwerkprogrammierung | 2 | 05.04.2007 15:34 | |
| MD5 verschlüsseln | alaska94 | Java Basics - Anfänger-Themen | 3 | 18.01.2007 17:49 |
| Datei verschlüsseln | lu.seifer | Java Basics - Anfänger-Themen | 9 | 16.12.2005 09:10 |
| Lesezeichen |
|
|