PHP DES Verschlüsselung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP DES Verschlüsselung

    Hallo Leute,
    eigentlich brauche ich irgend etwas, was ein beliebiges Wort (die ersten 8 Zeichen natürlich-wegen DES) mittels DES verschlüsselt.
    Es sollte z.Bsp aus 1234567@ --> fk9EsMCXmTk0I machen können. Man sollte das Wort schreiben, auf verschlüsseln drücken und dann sollte der verschlüsselte Text kommen. Ich hoffe auf baldige Antwort und danke im Voraus.

  • #2
    Hi,

    crypt findet man auch mit google

    Kommentar


    • #3
      Probier mal folgendes (denke mal, so in etwa meinst du das) :

      PHP-Code:
      echo "<form action='' method='post'>";
      echo 
      "<input type='text' name='eingabe'>";
      echo 
      "<input type='submit' name='action' value='Verschlüsseln'>";
      echo 
      "<br>";
      if (
      $_POST[action] == "Verschlüsseln")
        {
        
      $versch crypt($_POST[eingabe]);
        echo 
      $versch;
        } 

      Kommentar


      • #4
        if ($_POST[action] == "Verschlüsseln")
        1. Welchen Wert hat die konstante "action"???
        2. Was machst du, wenn du das Script mal internationalisierst?
        $versch = crypt($_POST[eingabe]);
        3. s. 1.
        4. kann man die rückgabe einer fkt auch direkt ausgeben und 3 Zeilen sparen

        just4info

        Kommentar


        • #5
          Ok, bei Punkt 2 stimm ich dir vollkommen zu, wobei das widerum von Punkt 1 abhängig ist (in meinem Fall). Mir wurde, als ich mit PHP angefangen habe mitgeteilt, dass ich mittels if($_POST[action]) prüfen solle, ob der button nun betätigt wurde oder nicht.

          Geht (bisher) ja auch prima... aber wenn das der falsche Weg ist, werde ich mich mal schlau-googlen - es sei denn, du würdest mir erklären, wie es korrekt wäre

          EDIT : action hat den Wert "Verschlüsseln", sobald der button betätigt wurde. action nimmt ja immer das value des betätigten buttons an, was sich ja leicht mit

          echo $_POST[action];

          überprüfen lässt.
          Zuletzt geändert von Tommy75; 29.10.2005, 21:46.

          Kommentar


          • #6
            du hast punkt 1 nicht verstanden ließ mal meinen "Regel-Thread", besonders die sache mit dem error-reporting...

            Tja, was machst du, wenn dein button nicht betätigt wurde? Ich vergebe den buttons gar nicht zwingend namen und values. mit empty($_POST) kann man nämlich wunderbar prüfen.

            Kommentar


            • #7
              ok, ich kümmere mich mal darum

              Allerdings verstehe ich nicht ganz, wie du dann prüfst, welcher button geklickt wurde, falls es mehrere buttons in einer Form gibt.

              Ausserdem hatte ich bisher jedesmal das Problem, dass $_POST eben NICHT leer ist, und zwar immer dann, wenn ich z.B. von script a per POST irgendwelche Werte an script b übergebe. Ok, vllt. ändert sich das, wenn ich die Abfrage anders gelöst habe

              Kommentar


              • #8
                EDIT : action hat den Wert "Verschlüsseln", sobald der button betätigt wurde. action nimmt ja immer das value des betätigten buttons an, was sich ja leicht mit
                Ah so! Was gibt denn echo $_POST['Verschlüsseln'] aus???

                Allerdings verstehe ich nicht ganz, wie du dann prüfst, welcher button geklickt wurde, falls es mehrere buttons in einer Form gibt.
                Dann würde ich natürlich Namen vergeben.

                Ausserdem hatte ich bisher jedesmal das Problem, dass $_POST eben NICHT leer ist, und zwar immer dann, wenn ich z.B. von script a per POST irgendwelche Werte an script b übergebe.
                Ähm, ja. Ist wohl irgendwie der Sinn, oder? Wäre ganz schön schei*, wenn ich daten per POST sende und dann aber meine entsprechende Variable leer ist.

                Ok, vllt. ändert sich das, wenn ich die Abfrage anders gelöst habe
                Na, hoffentlich nicht!

                SORRY @ Threadstarter! Wollte mit den Tipps dein Thema nicht verdrängen Hat gerade nichts zu tun...

                Kommentar


                • #9
                  $_POST['Verschlüsseln'] gibt gar nichts aus bei mir.
                  $_POST[action] wirft mir ein Verschlüsseln auf den Monitor.

                  Dass der Sinn eines POST der ist, Werte an andere Scripte zu übergeben ist mir bewusst. Ich wollte ja nur anmerken, dass mein $_POST dann nicht leer sein kann und ich somit auf diese Weise nicht mehr prüfen kann, ob nun ein button geklickt wurde oder nicht.

                  Übringens von mir ebenfalls ein SORRY an den Starter

                  Kommentar


                  • #10
                    $_POST['Verschlüsseln'] gibt gar nichts aus bei mir.
                    $_POST[action] wirft mir ein Verschlüsseln auf den Monitor.
                    Nichts anderes ist zu erwarten füg mal an den anfang ein error_reporting(E_ALL); ein. Dann kommt ein hinweis und es wird klar, worauf ich hinaus wollte.

                    Dass der Sinn eines POST der ist, Werte an andere Scripte zu übergeben ist mir bewusst. Ich wollte ja nur anmerken, dass mein $_POST dann nicht leer sein kann und ich somit auf diese Weise nicht mehr prüfen kann, ob nun ein button geklickt wurde oder nicht.
                    Du hast nicht erkannt, worauf ich hinaus wollte. 1. Ob der button geklickt wurde oder nicht, interessiert uns nicht. Zumindest nicht so lange wir nur einen submit-button haben. Dich interessiert nur, ob POST-Daten da sind, oder nicht. Dafür gibts empty().

                    Kommentar


                    • #11
                      Gut. Das mit dem empty is soweit klar. Hab auch mal dein error_reporting eingebaut und die Warnmeldung erhalten, dass die Konstante "action" undefiniert ist - darauf war wohl deine erste Frage gemünzt.

                      Dummerweise ist es nun so, dass zuerst alles funktioniert (keine Fehlermeldung). Wenn ich dann jedoch den button anklicke, bekomme ich die Fehlermeldung, dass die Konstante "eingabe" undefiniert sei - was daher kommen dürfte, dass das script neu geladen wird beim anklicken des buttons und dann das Textfeld ja leer ist.

                      Nur wenn ich nun tatsächlich mehrere buttons einbaue, sehe ich im Moment keine andere Möglichkeit als jedem button den gleichen Namen (action) zu geben und dann per $_POST[action] zu prüfen, welcher button geklickt wurde - was zur Folge hat, dass es Fehlermeldungen hagelt (Use of undefined constant action - assumed 'action' in .....)

                      Kommentar


                      • #12
                        Nee, nee. Du solltest dir einfach klar machen, dass du immer konstanten verwendest, die es gar nicht gibt.

                        schau mal define an. So definiert man konstanten. Nicht anders.

                        Wenn du statt dessen aber auf $_POST['action'] bzw. $_POST['eingabe'] prüfst, benutzt du keine konstanten, sondern greifst wirklich auf den array-index zurück. keine notice => Sauberer Code.

                        Kommentar


                        • #13
                          crypt

                          hehe,
                          he leute ich wollte nur eine .php datei, mit der ich irgend ein wort mittels DES verschlüsseln kann, und das verschlüsselte wort sollte dann unten sichtbar sein.
                          gutes beispiel ist auf www.php-funktionen.de zu sehen.

                          Kommentar


                          • #14
                            Code

                            ok den code konnte ich zusammentragen, sieht so aus:

                            <html>
                            <head>
                            <?php
                            if (CRYPT_STD_DES == 1) {
                            echo 'Standard DES: ' . crypt('12345678', 'fk') . "\n";
                            }

                            ?>
                            </font>
                            </body>
                            </html>

                            aber wie kann ich jetzt das ganze so umcodieren, dass ich auf dieser Seite eben das Wort eingebe und das verschlüsselte Wort unten dargestellt wird.

                            Kommentar


                            • #15
                              1. Sind das Grundlagen, die du nicht ansatzweise zeigst,
                              2. hat tommy dir da schon nen code zu gepostet, wenn du den nicht verwenden kannst...

                              Kommentar

                              Lädt...
                              X