java-forum.org - Java programmieren aus Leidenschaft
Java 6 Einstieg und professioneller Einsatz
Alter Preis: 34,90 EUR
Jetzt: 0,00 EUR

zzgl. Versandkosten

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Java - Programmierung > Java Basics - Anfänger-Themen

Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern

Thema geschlossen    
Themen-Optionen Thema durchsuchen Ansicht
Alt 10.01.2008, 20:31   #1 (permalink)
Neuer Benutzer
Bit
 
Registriert seit: 10.01.2008
Fachbeiträge: 6
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Strings verschlüsseln

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();
}
Entschlüsselung:


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();
}
Desweiteren brauche ich eine einfache Verschlüsselung mit Passwort. Ich habe schon mit XOR rumgespielt, aber da kriege ich die toString() Funktion am Ende nicht hin. Ich brauche im Prinzip nur einen Ver- und Entschlüsselungs-Algorhythmus, der irgendwie ein Passwort mit einbindet. Jemand ne Idee?

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]
Beregond ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 10.01.2008, 21:09   #2 (permalink)
Nicht angemeldet
 
Fachbeiträge: n/a
Code:
public String deCrypt(String value, int key)
{
   return enCrypt(value, -key);
}
Für das mit Passwort kannst du die Vigenère-Verschlüsselung nehmen.
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 11.01.2008, 08:35   #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&
Backwardsman ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 11.01.2008, 10:29   #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
Beregond ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 11.01.2008, 10:43   #5 (permalink)
Stammbenutzer
Kilobyte
 
Registriert seit: 27.11.2007
Fachbeiträge: 150
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Zitat: Beregond
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... :?: )
naja ich meinte damit, dass man für die ceasar-chiffre ja eine ganz normale zahl (int) als schlüssel hat... wenn du es nun schaffst, ein passwort (string) auf eine zahl abzubilden, dann kannst du die caesar-chiffre auch mit passwort betreiben.

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);
}
...
eine andere möglichkeit wäre es zum beispiel, jedes zeichen einzeln mit caesar zu verschlüsseln, dazu kannst du das passwort vervielfältigen und dann je ein text-zeichen mit einem passwort-zeichen verschlüsseln.

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)!
Backwardsman ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 11.01.2008, 19:01   #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
Beregond ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Alt 06.03.2008, 07:58   #7 (permalink)
Gast
Nicht angemeldet
 
Fachbeiträge: n/a
super Bongi!
 
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Thema geschlossen    

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:55 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de