Andreas: mit gzencode() erzeugten String verschlüsseln

Hallo!
Kann man eigentliche eine Datei die ich mit gzencode komprimiere, zusätzlich mit einem Passwort schützen? Oder geht das in der Shell? Meine Anwendung sieht im Prinzip so aus:
system("usr/bin/mysqldump DB123 | gzip > file.sql.gz");
Kann man hier noch irgendwie einen Passwortschutz einbauen, so wie ich das auch bei meinem normalen winzip machen kann?(ich weiß nicht wirklich vergleichbar, oder doch?)
Ich meine jetzt nicht GPG/PGP, sondern einen einfachen Passwortschutz!
Grüße
Andreas

  1. Holladiri

    Kann man eigentliche eine Datei die ich mit gzencode komprimiere, zusätzlich mit einem Passwort schützen? Oder geht das in der Shell?
    Meine Anwendung sieht im Prinzip so aus:
    system("usr/bin/mysqldump DB123 | gzip > file.sql.gz");
    Kann man hier noch irgendwie einen Passwortschutz einbauen, so wie ich das auch bei meinem normalen winzip machen kann?(ich weiß nicht wirklich vergleichbar, oder doch?)

    Du könntest es mit dem normalen "zip" packen an Stelle von "gzip" und dann den Parameter -e verwenden.

    Näheres erfährst Du mit

    > man zip

    Ciao,

    Harry

    1. Hi!
      Danke Dir!
      Was ist der Unterschied zu gzip? Nur Komptimierung?

      Kannst Du mir sagen, warum ich das mit

      <?
      system("man zip");
      ?>

      so komisch angezeigt bekomme?

      http://www.knet-systems.de/zip.php

      Wie kann ich das korrekt anzeigen? Mit Shell... komme ich nicht so klar, habe ich gerade auch keinen client für.

      Grüße
      Andreas

      1. Hoi !

        Kannst Du mir sagen, warum ich das mit

        <?
        system("man zip");
        ?>

        so komisch angezeigt bekomme?

        Da sind gewisse Formatierungen mit drin ... für 'ne Shell.

        Wie kann ich das korrekt anzeigen? Mit Shell... komme ich nicht so klar, habe ich gerade auch keinen client für.

        Die Shell heißt z.B. PuTTY (SSH)
        Die gibt's hier: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

        Dann mußt Du nix weiter tun als die korrekte Adresse einzugeben, Dein Login einzugeben, und dann die man-page anzuschauen. Ganz nebenbei kannst Du dann auch schonmal die korrekte Syntax für ZIP üben (ich kenn sie auch nicht ganz).

        Ciao,

        Harry

        1. Hi!
          OK, OK, werde das dann mit SSH machen, so lerne ich wieder was :-) Aber trotzdem würde mich interessieren, ob man die ausgabe von system() nicht irgenwomit filtern bzw. html oder wenigstens ascii Lesbar zu machen! ODer gibt es da einen besseren aufruf als system()?
          Grüße
          Andreas

          1. Hallo nochmal:

            Die komrimierung von gzip und zip ist anscheinend die gleiche? Dachte immer das wäre andere, naja.

            Jedenfalls geht es mit dem passwort nicht:

            system ("/usr/bin/mysqldump -u".$user." -p".$pass." -h".$host." ".$db." ".$tables." | zip -p passwort  >  ".$file, $fp);

            wenn ich .p passwort weglasse dann gehts wieder.

            Nun ja, in man zip steht das:

            SYNOPSIS
                   zip     [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$]     [-b path]
                   [-n suffixes]  [-t mmddyyyy]  [-tt mmddyyyy]  [  zipfile [
                   file1 file2 ...]] [-xi list]

            Kann mir jemand sagen, wie ich da wieder raus komme, ohne abzubrechen? Aber vor allem: Wo kann ich in meinem obigen system() Aufruf so einen Parameter noch unterbringen?

            Grüße
            Andreas

            1. Hoi !

              Jedenfalls geht es mit dem passwort nicht:

              system ("/usr/bin/mysqldump -u".$user." -p".$pass." -h".$host." ".$db." ".$tables." | zip -p passwort  >  ".$file, $fp);

              wenn ich .p passwort weglasse dann gehts wieder.

              Ähm ... es muß ein großes "P" sein.

              Also:

              zip -P passwort datei.zip zu_packende_datei.abc

              Diese Lösung ist aber alles andere als sicher, da man das Passwort recht leicht rausfinden kann.

              Ciao,

              Harry

          2. Hoi

            OK, OK, werde das dann mit SSH machen, so lerne ich wieder was :-) Aber trotzdem würde mich interessieren, ob man die ausgabe von system() nicht irgenwomit filtern bzw. html oder wenigstens ascii Lesbar zu machen! ODer gibt es da einen besseren aufruf als system()?

            Filter das Ergebnis von system() mit nl2br() und lösche anschließend mit einem regulären Ausdruck alle "" und das jeweils vorhergehende Zeichen.

            Ciao,

            Harry

            1. Hi!
              Danke Dir! Werde ich direkt mal probieren! Eine Frage noch:

              Wenn mein Versuch die Datei zu verschlüsseln:

              (16:42:28) [webseite] zip -e test.zip uhr.htm

              folgendes anzeigt:

              zip error: Invalid command arguments (encryption not supported)

              Heißt das, das die installierte ZIP Version keine Verschlüsslung kann bzw. deaktiviert wurde? Ich meine, ist ja auch nicht wirklich sicher, aber trotzdem komisch, oder?

              Grüße
              Andeas