tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
24
ZUGRIFFE
32624
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hat hier sich schon mal jemand mit Verschlüsselung beschäftigt
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!
    Hat hier sich schon mal jemand mit Verschlüsselung beschäftigt
    Sicherlich hat sich "jemand" schon mal mit Verschlüsselung beschäftigt...
    Allein Google spuckt auf die Anfrage: http://www.google.de/search?hl=de&q=...le-Suche&meta=
    knapp 164.000 Hits aus *scnr*

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Ich hab nämlich dazu ne frage

    das sind ja alles rechnungen mit denen verschlüsselt wird. wie ich buchstaben in zahlen umwandle ist klar, aber wie kann ich das bei Dateien machen die keinen Text enthalten, z.b. ZIP-Dateien?
    ich stehe da irgendwie auf dem schlauch und hab keine idee..

    Kann mir da jemand helfen
     

  4. #4
    HorstHorstmann Tutorials.de Gastzugang
    Auch Zip datein bestehen nur aus Symbolen und die kannste verschlüsseln.
     

  5. #5
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Ich bräuchte ein beispiel wie ich eine Datei in zahlen umwandle, weil ich keine ahnung hab wie ich das bewerkstelligen soll
     

  6. #6
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  7. #7
    HorstHorstmann Tutorials.de Gastzugang
    int c1 = 65;
    char c2 = ’A’;

    System.out.println( c1 ); // 65
    System.out.println( (int)c2 ); // 65

    Quelle dieses Beispiels:
    http://www.galileocomputing.de/katal...ook/?GPP=opjiV

    Also mit (int)

    Nunja musste die Datei nur noch Zeichenweise auslesen. Schau dazu in der API mal unter InputStreamReader nach. Leider kenn ich mich da auch noch nicht so genau aus, mein Problem steht drei Threads weiter unten .
    Lad dir mal die Javainsel runter da steht scho ne Menge drinne. (Link oben)
     

  8. #8
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Danke schonmal,

    wie ich eine datei mit text umwandle ist mir schon klar, aber kann ich ne zip-datei genau so auslesen?

    ich möchte ein programm mit RSA-Verschlüsselung schreiben und möchte diese Methode selbst entwickeln. Wenn man dateien verschlüsselt werden die ja größer, deshalb möchte ich die dateien vor der verschlüsselung komprimieren. nur ich weiß jetzt nicht wie ich die datei verschlüsseln kann, weil ich nicht weiß wie ich da irgendwas in zahlen umwandeln kann.
     

  9. #9
    javaprogger1987 javaprogger1987 ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Beiträge
    284
    Öhm.. prinzipiell bestehen Dateien ja nur aus Zahlen.. Die Zeichen erzeugt ja erst ein Editor..
    Eine Datei besteht aus Bytes. Ein Byte hat 8 Bit (Bit: 0 oder 1), womit sich dann Zahlen bis 255 darstellen lassen. Jeder Zahl ist aber auch ein Zeichen zugeordnet (-> ASCII).
    Ein Beispiel wie du Bytes auslesen kannst:


    Code :
    1
    2
    3
    4
    
    RandomAccessFile raf = new RandomAccessFile("C:\test.zip", "r"); //r=nur lesezugriff
    //7 Bytes in das Array lesen
    byte content[] = new byte[7];
    raf.readFully(content);
    Dann hast du im Array die Zahlen als Bytes stehen..
    Zu beachten ist noch , das der Datentyp Byte von -128 bis 127 geht.
    D.h. wenn ein Byte in der Datei den Wert 128 hat, würde in dem Array -128 stehen (256-128 = 128). anderes bsp. In der Datei steht ein Byte mit dem Wert 200. Im Array stünde dann -56 (256-56 = 200).

    Hoffe das ist es was du meinst..
     

  10. #10
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    das mit byte hatte ich mir mal gedacht, aber wenn ich die zahl dann in der funktion benutze, kann ich es nachher nicht mehr als Byte schreiben, weil die zahl doch wesentlich größer ist als 255.
    Geändert von zerix (12.07.05 um 08:10 Uhr)
     

  11. #11
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Ich hab das jetzt mal mit byte gemacht, jetzt hab ich nur das problem, wenn ich die verschlüsselung rückgängig mache, kommen bei den zahlen die größer waren als 255, also dann negative zahlen waren, nicht wieder das richtige raus.
    wie kann man das denn lösen
     

  12. #12
    javaprogger1987 javaprogger1987 ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Beiträge
    284
    Zahlen die größer waren als 255 Das geht nicht wenn die Bytes verschlüsselt hast. Zahlen
    > 127 werden als negative dargestellt.

    z.B.:

    200 = -56 (als Byte, da > 127 deshalb wird es so berechnet: zahl(-56)+256 = 200).

    D.h. wenn du eine Byte -56 hast, steht in der Datei eine 200(Als Byte, nicht als Text).

    Oder was geht nicht?
     

  13. #13
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Was passiert denn wenn die zahl über 200.000 ist? ich glaube dann kommt es nicht mehr so ganz hin, oder?
     

  14. #14
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Hier mal ein Beispiel für asynchrone Verschlüsselung über Public Key Verfahren.
    Hierbei verwenden wir zum verschlüsseln den öffentlichen Schlüssel (Public Key) und zum entschlüsseln den privaten Schlüssel (private key).

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    
    package de.tutorials;
     
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.security.KeyPair;
    import java.security.KeyPairGenerator;
     
    import javax.crypto.Cipher;
    import javax.crypto.CipherInputStream;
    import javax.crypto.CipherOutputStream;
     
       public class SimpleChiffreExample {
     
        /**
         * @param args
         */
        public static void main(String[] args) throws Exception {
     
            String data = "www.tutorials.de";
     
            System.out.println("Plain text data: " + data);
     
            Cipher cipher = Cipher.getInstance("RSA");
            KeyPair keyPair = KeyPairGenerator.getInstance("RSA").generateKeyPair();
            cipher.init(Cipher.ENCRYPT_MODE, keyPair.getPublic());
     
            ByteArrayOutputStream baosEncryptedData = new ByteArrayOutputStream();
            CipherOutputStream cos = new CipherOutputStream(baosEncryptedData,
                    cipher);
     
            cos.write(data.getBytes("UTF-8"));
            cos.flush();
            cos.close();
     
            System.out.println("Encrypted data: "
                    + new String(baosEncryptedData.toByteArray(),"UTF-8"));
     
            cipher.init(Cipher.DECRYPT_MODE, keyPair.getPrivate());
            CipherInputStream cis = new CipherInputStream(new ByteArrayInputStream(
                    baosEncryptedData.toByteArray()), cipher);
     
            ByteArrayOutputStream baosDecryptedData = new ByteArrayOutputStream();
            byte[] buffer = new byte[8192];
            int len = 0;
            while((len = cis.read(buffer))> 0){
                baosDecryptedData.write(buffer,0,len);
            }
            baosDecryptedData.flush();
            cis.close();
     
            System.out.println("Decrypted data: "
                    + new String(baosDecryptedData.toByteArray(),"UTF-8"));
     
        }
       }

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  15. #15
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    In welcher Java-Version ist das denn enthalten. Bei mir kommt nämlich der fehler dass für RSA kein algorithmus hätte
     

Ähnliche Themen

  1. Verschlüsselung
    Von melmager im Forum Linux & Unix
    Antworten: 4
    Letzter Beitrag: 09.02.08, 08:21
  2. RSA-Verschlüsselung
    Von Azi im Forum Security (Viren, Trojaner, Spam)
    Antworten: 5
    Letzter Beitrag: 30.12.07, 13:05
  3. MD5 Verschlüsselung
    Von server im Forum PHP
    Antworten: 3
    Letzter Beitrag: 21.09.06, 09:01
  4. MD5 Verschlüsselung.
    Von soa im Forum PHP
    Antworten: 15
    Letzter Beitrag: 30.06.06, 09:23
  5. Verschlüsselung ?!!
    Von LoMo im Forum PHP
    Antworten: 17
    Letzter Beitrag: 13.04.05, 15:19