samtux: Blowfish

Hi!
In einer Android App verschlüssele ich einen String mittels Blowfish und erhalte ein Bytearray (byte[]). Daraus erzeuge ich einen Base64 String und sende diesen an den Server um ihn in der Datenbank zu speichern.

Der Browser ruft diesen Base64 String ab. Nun möchte ich das ganze wieder mit Blowfish entschlüsseln (mit JavaScript). Wie mache ich das?

  1. Ich würde nach "javascript blowfish" suchen ;-) Ein bisschen was findet sich dazu schon.
    Einfacher wird es für dich wenn du per https kommunizieren kannst.

    1. Ich würde nach "javascript blowfish" suchen ;-) Ein bisschen was findet sich dazu schon.

      Ich werde mal suchen

      Einfacher wird es für dich wenn du per https kommunizieren kannst.

      Das hat aber immer noch den Nachteil für den Nutzer, dass die Daten auf dem Server im Klartext sind.

      1. Mahlzeit,

        Das hat aber immer noch den Nachteil für den Nutzer, dass die Daten auf dem Server im Klartext sind.

        Und wo ist der Vorteil, wenn jeder, der die Übertragung mithört, genau sieht, wie Daten zu entschlüsseln sind? Dann kannst du die auch gleich unverschlüsselt senden und speichern.

        --
        42
        1. Und wo ist der Vorteil, wenn jeder, der die Übertragung mithört, genau sieht, wie Daten zu entschlüsseln sind? Dann kannst du die auch gleich unverschlüsselt senden und speichern.

          Wenn man die Kommunikation mitliest, sieht man ja nur die verschlüsselten Texte. Den Key übertrage ich nicht über das Internet.

          1. Mahlzeit,

            Wenn man die Kommunikation mitliest, sieht man ja nur die verschlüsselten Texte. Den Key übertrage ich nicht über das Internet.

            Und wie soll dann Javascript deinen String entschlüsseln, wenn du ihn nicht an den Client schickst? Selbst bei LocalStorage o.ä. musst du den Key zumindest einmal an den Client senden.

            --
            42
            1. Und wie soll dann Javascript deinen String entschlüsseln, wenn du ihn nicht an den Client schickst? Selbst bei LocalStorage o.ä. musst du den Key zumindest einmal an den Client senden.

              Der String wird in einer App verschlüsselt. In der App kann der Nutzer den Key lesen und gibt ihn dann auf der Internetseite an, wo der Key in einen Cookie gespeichert wird (natürlich alles mit Javascript verarbeitet).

              1. Mahlzeit,

                Der String wird in einer App verschlüsselt. In der App kann der Nutzer den Key lesen und gibt ihn dann auf der Internetseite an, wo der Key in einen Cookie gespeichert wird (natürlich alles mit Javascript verarbeitet).

                Ok, wenn das für dich keine Möglichkeit bietet, dass jemand mitliest, kann ich dir auch nicht helfen. Dann mach mal ;)

                --
                42
      2. Ich hab jetzt eine Weile gesucht und probiert aber nix wirklich hinbekommen.
        Das ganze Projekt hat ja einen Javascript und einen Android (Java) Teil.

        <b>Javascript</b>
        Ich habe folgendes genutzt: http://www.php-einfach.de/sonstiges_generator_blowfish_js.php

        Ich habe zum Test mal als Key 'abc' genommen und 'Hallo' verschlüsselt. Verschlüsselt hat das ergeben: 'AA7sgAAPNlWJoArNe7/rZg=='

        <b>Java</b>
        Mein Code:

        Cipher cipher = Cipher.getInstance("Blowfish/CBC/PKCS5Padding");  
        cipher.init(Cipher.ENCRYPT_MODE, key);  
            	  
        byte[] encryptedBytes = cipher.doFinal(to_encrypt.getBytes());  
        String encryptedString = new String(Base64Coder.encode(encryptedBytes));  
            	  
        System.out.println("BASE64: " + encryptedString);
        

        Ich habe wieder 'Hallo' mit dem Key 'abc' verschlüsselt und erhalte 'Skdcs/wC5J0='.

        ******
        Das kann doch nicht stimmen. Was mach ich denn falsch?

        1. Mahlzeit,

          System.out.println("BASE64: " + encryptedString);[/code]

          Ich habe wieder 'Hallo' mit dem Key 'abc' verschlüsselt und erhalte 'Skdcs/wC5J0='.

          ******
          Das kann doch nicht stimmen. Was mach ich denn falsch?

          Kodiert js auch per Base64? Wenn nicht, ist dein Problem logisch.

          --
          42
          1. Kodiert js auch per Base64? Wenn nicht, ist dein Problem logisch.

            Ich erhalte im Java Teil ja ein Bytearray... Habe gedacht das geht so.

            Gibt es hier jemanden, der sich damit auskennt? Wenn nicht, welches Forum ist für sowas gut?