verschlüsselung

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

  • verschlüsselung

    ich möcht gern daten in ner mysql daenbank abspeichern.
    doch die will ich verschlüsseln, wie mach ich das ambesten und wie entschlüssel ich sie dann weider ??

    mfg
    trashar

  • #2
    willst du die daten zum auslesen wieder entschlüsseln ?
    oder willst du nur die daten mit einer eingabe vergleichen ? (zb. passworteingabe)

    Kommentar


    • #3
      Wenn Du generell die Daten die Du in der Datenbank ablegst verschlüsseln willst verzichtest Du auf nahezu sämtliche Datenbankfeatures, wie Indices, Sortierfunktionen, individuelle Abfragemöglichkeiten, Suchfunktione wie LIKE, Ausgabeoptionen wie GROUP BY, uvvvm.

      Der wesentliche Schutz die Daten vor fremdem Zugriff zu schützen ist di Verwendung der Benutzerrechte (Grants). Dabei muß darauf geachtet werden, dass die Passwörter von Benutzern verschlüsselt abgelegt werden, damit diese so erzeugten Password-Hashwerte nicht offensichtlich gelesen werden können.

      Kommentar


      • #4
        Wenn deine Datenbank richtig eingerichtet ist - gelten die daten - solange sie sich in der Datenbank befinden eigentlich als sicher .
        Da würde ich mir kaum sorgen machen - nur ausserhalb der datenbank könnte es nötig werden die daten zu verschlüsseln.

        Kommentar


        • #5
          Ansonsten zur Ver- und Entschlüsselung direkt in den Queries:

          DES_ENCODE(inhalt,MD5(pass))
          DES_DECODE(inhalt,MD5(pass))

          ...wobei inhalt vom Typ BLOB sein sollte.

          [Editiert von Sky am 03-01-2002 um 11:13]

          CAT Music Files

          Kommentar


          • #6
            also ich will die pws mit php verschlüsseln und sie verschlüsselt in die mysql datenbank einfügen.

            @sky, dein beispiel versteh ich jetzt nicht ganz mit dem inhalt.

            kannste bitte noch mal erläutern??

            mfg
            Trashar

            Kommentar


            • #7
              Hm, hab mich verguckt... Sind ENCODE und DECODE (DES hat ne andere Syntax)... Aber egal:

              $text = 'blahblah';
              $passphrase = md5('geheim');

              mysql_query("INSERT INTO tabelle SET passwort = ENCODE('$text',$passphrase)");

              CAT Music Files

              Kommentar


              • #8
                und ums wieder auszulesen?? einfach

                $text = 'blahblah';
                $passphrase = md5($pw);

                mysql_query("SELECT FROM tabelle WHERE passwort = DECODE('$text',$passphrase)");

                oder wie??

                [Editiert von Trashar am 03-01-2002 um 13:05]

                Kommentar


                • #9
                  Naaah, du nix gut SQL

                  $passphrase = md5($pw);
                  mysql_query("SELECT DECODE(passwort,'$passphrase') AS passwort FROM tabelle");


                  CAT Music Files

                  Kommentar


                  • #10
                    ich nur das mit verschlüsselung nix können

                    thx

                    Kommentar


                    • #11
                      $text = 'blahblah';
                      $passphrase = md5('geheim');

                      mysql_query("INSERT INTO tabelle SET passwort = ENCODE('$text',$passphrase)");
                      $passphrase = md5($pw);
                      mysql_query("SELECT DECODE(passwort,'$passphrase') AS passwort FROM tabelle");
                      muss hier nicht passwort = $text sein??

                      und je länger die variable text ist, so sicherer is die verschlüsselungß??

                      mfg

                      Kommentar


                      • #12
                        Also nochmal als Ganzes. ENCODE() und DECODE() erwarten zwei Parameter - der erste ist das Objekt der Verschlüsselung, der zweite die Passphrase, mit der verschlüsselt wird.

                        $passphrase = md5('meine geheime passphrase'); //ist statisch

                        Also eintragen:

                        mysql_query("INSERT INTO tabelle SET passwort = ENCODE('zu verschlüsselnder Text','$passphrase')");

                        Und wieder rausholen:

                        mysql_query("SELECT DECODE(passwort,'$passphrase') AS passwort FROM tabelle");

                        CAT Music Files

                        Kommentar


                        • #13
                          was is richtig??


                          mysql_query("SELECT * FROM $table_user WHERE name='$username' AND DECODE(pw,'$passphrase') AS pw");

                          oder

                          mysql_query("SELECT * FROM $table_user WHERE name='$username' AND DECODE(pw,'$passphrase') AS pw='$password'");

                          mfg & thx

                          Kommentar


                          • #14
                            Öhhhhmm.. was hast du denn vor? Willst das Passwort vergleichen oder selecten?

                            CAT Music Files

                            Kommentar


                            • #15
                              mein code:

                              function checkuser($username,$password)
                              {
                              global $link,$table_user,$passprase;
                              $temp = mysql_query("SELECT * FROM $table_user WHERE name='$username' AND DECODE(pw,'$passphrase') AS pw",$link);
                              $temp = mysql_num_rows($temp);
                              if($temp == "1")
                              return true;
                              else
                              return false;


                              }

                              Kommentar

                              Lädt...
                              X