Datei splitten

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von big-d.

    Datei splitten

    Einen guten Freitagmorgen, VB-Paradise.
    Ich möchte euch mit einer weiteren Frage belästigen, zu der ich im großen weiten Netz keine Antwort gefunden habe.

    Ich habe eine Datei.
    Ich glaube, es ist hierbei nicht so wichtig, was das für eine Datei ist.
    (Edit: Falls es doch zur Lösung des Problems beitragen sollte: Es ist eine Textdatei)
    Nun möchte ich diese Date splitten, in zwei Dateien.
    Das soll so geschehen, dass es nachher nicht mehr möglich ist, diese mit einem normalen Programm zu öffnen.
    (Also bei der Textdatei sollte man sie halt nicht mehr mit dem Notepad öffnen dürfen)
    Allerdings soll mein Programm diese beiden Datein auch laden können und sie wieder zusammenfügen können.
    Erst habe ich ein wenig im Bereich Binary-Reader und -Writer nachgeschaut, aber da scheint sich für mich keine Lösung aufzutun.

    Im wesentlichen soll dieses Verfahren einfach nur der Verschlüsselung dienen.
    Es soll einfach eine Date werden, die man so normal nicht mehr öffnen kann.
    (Aber nicht so, dass man einfach nur den Text darin verschlüsselt)

    Kennt jemand ein Verfahren, welches man hierbei anwenden könnte?
    Ich freue mich schon, den Luxus einer schnellen und wie immer hilfreichen Antwort einmal wieder genießen zu dürfen ;)

    MfG
    LevelXProject

    LevelXProject schrieb:

    (Also bei der Textdatei sollte man sie halt nicht mehr mit dem Notepad öffnen dürfen)
    Hiermit erteile ich dieser Datei das Verbot, sich mit dem Notepad öffnen zu lassen.
    Leider kümmert sich die Datei einen Scheißdreck um dieses Verbot. Sorry.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    LevelXProject schrieb:

    Im wesentlichen soll dieses Verfahren einfach nur der Verschlüsselung dienen.

    Warum willst du dir dann die Füsse brechen und die Datei splitten?
    Es gibt "sichere" Verschlüsselungen im .Net Framework. Und wenn es "nur" um ein einfaches "soll nicht jeder sofort öffnen können" geht, kannst du das ganze auch als ROT13, Base64 etc machen. Mit Base64 wirds vermutlich ein einzeiler. Zwei Zeilen: Eine fürs lesen, die andere fürs Schreiben ;)

    EDIT: Nö, bleibt ein einzeiler ;)

    VB.NET-Quellcode

    1. My.Computer.FileSystem.WriteAllText(
    2. fname & ".b64",
    3. Convert.ToBase64String(
    4. My.Computer.FileSystem.ReadAllBytes(fname)),
    5. False, System.Text.Encoding.ASCII)


    (ungetestet)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „picoflop“ ()

    also man kann die Endung umbenennen, dann wird sie schomal nicht mehr automatisch von Notepad geöffnet. Aber wie Rod schon sagt: Wenn der User Notepad anweist, die Datei zu öffnen, tutesdasauch - weil Notepad ist ein braves Programm.

    Notepad öffnet auch 2 Dateien, wenns sein muß.

    Also wie sicher solls werden? Was zB vom NormalUser schon nicht mehr lesbar ist, wäre eine Konvertierung in einen Base64String.
    Einen Hacker hingegen amüsiert das nur.
    @Rod
    Damit meine ich einfach nur, dass das Notepad die Datei zwar öffnen kann, aber dort ein Text steht, der ein vollkommenes WirrWarr ist.
    Erst wenn man die beiden Datein wieder zusammenfügt, soll der "richtige" Text erscheinen.

    @m9898
    Das hatte ich auch schon in Erwägung gezogen.
    Aber mir erschien es ein wenig sicherer, es in meiner Variante zu machen, wobei es allerdings auch noch andere Gründe für mich gibt, warum man die Datei lieber splitten sollte.

    @ErfinderDesRades
    Das mit der anderen Endung hatte ich von Anfang an schon gehabt.
    Aber natürlich wollte ich es ein wenig sicherer machen, da ich persönlich auch immer erst versuche eine unbekannte Datei mit dem Notepad zu öffnen.
    Die Datei soll jetzt nicht auf FBI-Standard geschützt sein, aber schon so, dass man als... nunja - als "Anfänger" in solchen Sachen es nicht hinbekommt, sie zu öffnen.
    E:// Tut mir leid. Scheint, als wäre der Link broken. ;)
    Er verweist mich immer auf die normale Startseite.


    MfG
    LevelXProject

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LevelXProject“ ()

    LevelXProject schrieb:

    E:// Tut mir leid. Scheint, als wäre der Link broken.

    Hups - k.A. was da quer lief - probier halt diesen hier.
    Könnte also schon sein, dass du mit Base64 auskommst.

    Vlt. überfordert dich auch die Solution selbst. Meine Idee ist, die Datei als Byte-Array einzulesen, und mit Convert.ToBase64String() zu verschlüsseln. und viceversa.
    @SystemUnknow
    Das sieht sehr vielversprechend aus.
    Danke :)

    Ich werds ersteinmal damit probieren - falls ich Probleme damit habe, und das Netz mal wieder keine Lösung bietet, werde ich euch nochmal um Rat bitten.
    Wow - das ging wirklich schnell.
    In 3 Stunden und 18 Minuten.

    Vielen Dank :)
    MfG
    LevelXProject