aes_encrypt() und aes_decrypt

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

  • aes_encrypt() und aes_decrypt

    hi leute,

    ich möchte gern eine mysql-tabelle verschlüsseln. die felder sind alle varchar.
    dazu habe ich aes_encrypt() mit passwort 'hallo' benutzt, hat auch alles gut funktioniert - bis auf ca. 30 datensätze von insgesamt ca. 60000 - die kann ich nämlich nicht wieder zurückentschlüsseln. aes_decrypt() liefert dabei null zurück.

    ich habe mal 4 beispieldaten herausgesucht, bei denen das entschlüsseln nicht funktioniert. zuerst kommt der klartext, dann der verschlüsselte (eingeschlossen in hochkommas):

    'Adrian', '7½À¶?µö|Äñ r '
    'Jürgen', 'ªdÀ\"S‰9¾x®œ¡T ÿ'
    'Gaspara', 'à*¯¦ÒN4«‰º:ð'
    'Ronald', '›r$‡©×fÂâ¤+£tL'

    in den unverschlüsselten namen kommt kein ausergewöhnliches zeichen vor (außer der umlaut bei Jürgen). tja, und mit den verschlüsselten strings kann ich irgendwie garnichts anfangen, aber ich schätze mal, dass sich darin "böse" zeichen befinden


    so, hier mal noch zwei beispiele, bei denen auch das entschlüsseln funktioniert:

    'Barbara', '̐ÉÔTÅûÂÏ*Œ}º'
    'Erwin', 'ZG–¡B]Ñþ+X2`í ©'

    irgendwie habe ich nicht mal einen ansatz, wo ich den fehler suchen soll - vielleicht (hoffentlich) jemand von euch, das wäre große klasse.

    ps: die varchar-größe ist ausreichend, also beim verschlüsseln wird nichts abgeschnitten.

  • #2
    Konntest du überhaupt irgendwelche Umlaute entschlüsseln ?
    Ich wende beim verschlüsseln von Strings eigentlich immer erst eine base64_encode Fkt auf den String an bevor ich AES oder DES oder wat auch immer drüberlasse.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Original geschrieben von jahlives
      Konntest du überhaupt irgendwelche Umlaute entschlüsseln ?
      ja, alles kein problem.
      aber ich habe den fehler jetzt gefunden, wer lesen kann ist klar im vorteil:

      http://dev.mysql.com/doc/refman/5.1/...functions.html

      Note: The encryption and compression functions return binary strings. For many of these functions, the result might contain arbitrary byte values. If you want to store these results, use a BLOB column rather than a CHAR or VARCHAR column to avoid potential problems with trailing space removal that would change data values.

      Kommentar

      Lädt...
      X