Come eseguire il backup di dati e immagini in questo progetto? [chiuso]

3

Ho un progetto di database MS C # e MS SQL 2008. Può acquisire i record dei dipendenti con immagini di oltre 1000 record.

Attualmente sono in grado di acquisire 150 record su PC1 utilizzando la mia applicazione C # installata, salvare i record in formato XML o CSV. I miei amici sono in grado di continuare la registrazione o di entrare (da 151 a 1000) dopo aver ripristinato o caricato le informazioni contenute in quell'XML o CSV usando un'altra copia della mia applicazione C # installata sui loro laptop in un'altra posizione.

In che modo il contenuto del file può essere crittografato o nascosto dagli utenti che ne visualizzano il contenuto, ad eccezione della lettura o scrittura del mio app C # a questi file di backup.?

    
posta Gentlesule 03.07.2014 - 06:08
fonte

1 risposta

1

Per rispondere alla tua prima domanda, è semplice, crittografare il file. Usa una chiave simmetrica condivisa tra l'applicazione che usi e quella usata dai tuoi amici. Solo qualcuno con la chiave può leggere i dati. Dove si memorizza la chiave dipende da come si è paranoici.

Il più semplice è semplicemente quello di inserire la chiave nell'applicazione. Se sei preoccupato per gli hacker che accedono ad esso, tuttavia non sarebbe abbastanza sicuro.

Per rispondere alla tua seconda domanda, ci sono due componenti per ciò che stai memorizzando da quello che ho capito della tua domanda: un'immagine e dati. L'immagine che dovresti memorizzare come file binario, probabilmente in formato PNG, sarebbe l'opzione migliore. I dati che conserverei come JSON. Desiderate un modo per unire le due serie di dati tra loro e l'intero insieme di dati in un contenitore. Inoltre una certa compressione per JSON.

In questo modo urla per un file ZIP e, convenientemente, puoi anche crittografare i file ZIP.

Quindi creerei due file, con lo stesso nome, ma un'estensione diversa per ogni record (ad esempio Record1.json e Record1.png) e li inserirò tutti in un file ZIP crittografato usando SharpZipLib o simile ( link ).

Non hai davvero indicato quanti record stiamo parlando qui, se sono migliaia potresti voler creare una struttura di directory usando una struttura di ricerca per l'indice dei record. Quindi, se ad esempio cerchi i record in base al cognome, utilizzerai la prima o la seconda lettera del cognome come nome della prima cartella, per accelerare l'accesso e ridurre il tempo necessario per iterare tutti i record.

    
risposta data 14.05.2015 - 20:53
fonte

Leggi altre domande sui tag