Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    [c++] curiosità su criptare un file

    Salve, da un po' mi è venuta la curiosità di criptare un file per renderlo sicuro...
    scusate per le scarse conoscenze in questo ambito, cercherò di spiegarmi il più chiaramente possibile.
    Il mio obbiettivo è leggere un file byte per byte e sostituire parte dei byte del file affinché non si possa più aprire il file. Come dovrei approcciarmi al problema? ho pensato di leggere un file con fread() e poi aggiungere una sequenza di byte casuali all'interno della sequenza del file che poi andrò a togliere per decriptare il file. Ora... con un file di testo utilizzando la funzione fread(puntatore char, 1, 1000, puntatore file) leggo il suo contenuto. Con i file di testo legge i 1000 caratteri iniziali del testo, mentre con le immagini png legge BM6 e un simbolo strano dopo, per il resto è tutto vuoto, come mai?
    Sto approcciando in modo corretto il problema? help me pls ^^
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Stiamo parlando di un preciso tipo di file che non vuoi che si legga o genericamente?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Intendo tutti i tipi di files, applicazioni, immagini ecc
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Puoi usare un algoritmo semplice (sostituzione dei singoli caratteri in altri) o molto complessi (magari usando librerie già pronte).

    Leggerai il file e ne scriverai un altro criptato.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Io volevo utilizzare solo le funzioni fread() e fwrite() ma come detto prima mentre funziona bene con i file di testo con le immagini legge solo pochi caratteri
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

  6. #6
    Banalmente puoi mettere tutto il file in un buffer, fare un cast a int, e sommare una costante scelta da te (per dire : 35) ad ogni intero e salvare un nuovo file.
    In questo modo è anche facile creare un programma che decripti il file

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Probabilmente non hai aperto il file in modalità binaria (vedi le opzioni della fopen)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Quote Originariamente inviata da MegaAlchimista Visualizza il messaggio
    Banalmente puoi mettere tutto il file in un buffer, fare un cast a int, e sommare una costante scelta da te (per dire : 35) ad ogni intero e salvare un nuovo file.
    In questo modo è anche facile creare un programma che decripti il file
    Almeno la proposta di oregon offre un minimo di sicurezza!
    Inoltre molto meglio un unsigned char che wrappi nel tuo caso...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  9. #9
    L'algoritmo di cifratura più semplice da implementare in genere è uno XOR binario di ogni byte con una costante nota (o con un set di costanti usate a rotazione), ma ovviamente è estremamente fragile (è sostanzialmente equivalente ad un cifrario di Cesare). Se vuoi usare un algoritmo di cifratura "vero" come ti è stato detto ci sono numerose librerie che puoi impiegare.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    grazie mille per le esaurienti risposte, per me il metodo fragile va più che bene, volevo solo cercare di capire la struttura dei file e mi era venuta questa curiosità. Grazie mille per i consigli, se dovessi avere problemi posterò ancora. Ciao
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.