Dateien Verschlüsseln



  • Hi,
    ist es irgendwie möglich ein TiniFile zu verschlüsseln oder zumindestens so unkentlich zu machen das man die daten die da drin stehen nicht mit nem simplen texteditor lesen kann??
    Von mir aus irgenwie das der die Daten in Hex umwandelt oder sowas. es muss nicht 100% Sicher sein.

    Wenn das nicht gehen sollte, gibt es etwas vergleichbares mit dem das geht??

    Danke schonmal



  • Hallo

    TIniFile kann das selber nicht.
    Du must schon selber die Datei nach dem Speichern und vor dem Laden verschlüsseln.

    bis bald
    akari



  • Da ich zur Zeit keinen Zugriff auf meinen BCB hab, kann ich dir den genauen Befehl nicht nennen.
    Aber eine einfache Methode zum verschlüsseln ist eine Umwandlung der einzelnen Zeichen (ASCII-Wert) mit xor (Exclusive ODER).
    Der Vorteil ist, dass man beim zweiten Durchlauf (beim entschlüsseln) mit dem gleichen Befehl (xor) wieder den Originalzustand herstellt.
    Hoffe das ist ein Ansatz für Dich...

    wNw



  • Das hab ich mal zusammengefrickelt:

    //---------------------------------------------------------------------------
    
    #pragma hdrstop
    #include <SysUtils.hpp>
    #include <stdio.h>
    #include <sys\stat.h>
    
    //---------------------------------------------------------------------------
    typedef unsigned char	exByte;
    #pragma argsused
    int main(int argc, char* argv[])
    {
             char *key;
             key="myKey";
             FILE*	pSourceFile = 0;
             FILE*	pDestFile	   = 0;
             pSourceFile	= fopen(argv[1] , "rb");
             struct	stat	sz;
             stat(argv[1] , &sz);
             exByte *src = (exByte*)malloc(sz.st_size);
             fread (src , 1 , sz.st_size , pSourceFile);
             fclose(pSourceFile);
    
             int keyLen=strlen(key);
             int CPos=0;
             int srcValue=0;
             int keyPos=0;
             int CKey=0;
             int NKey=0;
             int dstValue;
             for(;CPos<sz.st_size;CPos++)
             {
                    srcValue=src[CPos];
                    keyPos++;
                    if(keyPos==keyLen)keyPos=1;
                    CKey=key[keyPos];
                    NKey=key[keyPos+1];
                    asm{
                            mov eax, srcValue
                            mov ebx,key
                            xchg bl,bh
                            xor eax,ebx
                            xor eax,NKey
                            not ax
                            mov dstValue,eax
                       }
                    src[CPos]=dstValue;
             }
             pDestFile	= fopen(argv[2] , "wb");
             fwrite(src , 1 , sz.st_size , pDestFile);
             free(src);
             fclose(pDestFile);
    
            return 0;
    }
    //---------------------------------------------------------------------------
    

    Wie gesagt, ziehmlich gefrickelt^^
    aber trotzdem:
    hoffe, es hilft!


Anmelden zum Antworten