Creo il mio file utilizzando File.WriteAllBytes()
. Byte [] passato a File.WriteAllBytes()
è crittografato da un algoritmo di mia proprietà. È necessaria la password utilizzata quando il file è stato crittografato (l'utente del programma conosce la password) per decrittografarlo. Ma quando alcuni file viene aperto dal mio programma utilizzando File.ReadAllBytes()
ci sono 3 situazioni:Creazione di un file che può essere utilizzato solo dal mio programma. Come faccio a differenziarlo dai file di altri programmi?
- file che viene aperto è il file del mio programma e utente conosce la password per aprirlo.
- Il file che viene aperto è il file del mio programma ma l'utente non conosce la password per aprirlo.
- Il file che viene aperto non è il file del mio programma.
Il primo è facile da gestire. Il secondo e il terzo sono uguali per il mio programma perché il mio programma non conosce la differenza tra byte crittografato [] e byte [] di un file casuale.
Come differisco queste situazioni? Stavo pensando di aggiungere qualche sequenza di byte alla fine o all'inizio di byte [] prima di passarla a File.WriteAllBytes()
. È sicuro? In che modo i programmi moderni differiscono i loro file da altri file?
non preoccuparti :) Uso algoritmo simile a RC4. Inoltre nessuno userà quel programma tranne me comunque. Ho creato questo programma solo perché voglio creare qualcosa xD btw, penso di aver trovato una soluzione: i primi N decodificati byte sono sempre gli stessi (penso/deve essere confermato) perché sono prodotti da http: // StackOverflow .com/a/18205093/1412924 codice modificato di questo ragazzo. L'intestazione di serializzazione sembra essere sempre la stessa. Lo controllerò ora – foxneSs