Ho bisogno di scaricare un file video di grandi dimensioni e salvarlo sul disco rigido. Quindi ho bisogno di riprodurre questo file video utilizzando un elemento multimediale XAML. Ma il file deve essere crittografato utilizzando l'algoritmo AES 256 e la chiave di crittografia. I dati non crittografati non devono essere scritti sul disco rigido in qualsiasi momento.Codifica stream WinRT
E.g. Posso avere uno stream in grado di trasformare dati non crittografati in un file e viceversa.
WinRT ha uno API che consente di crittografare i buffer. Ma se il file è grande, questo non funzionerà. WinRT ha un'API che consente di crittografare i flussi DataProtectionProvider. Ma esiste un parametro magico di protezioneDescriptor e non ho trovato alcuna informazione su come specificare un algoritmo e una chiave.
Quello che ero in grado di fare è implementare IRandomAccessStream in C#. Funziona ma è lento.
Si prega di non fornire risposte non correlate alla piattaforma WinRT. Qualsiasi altro aiuto sarebbe apprezzato.
Potrebbe chiarire cosa intendi con "implementare IRandomAccessStream in C#"? Hai trovato un modo per utilizzare la crittografia simmetrica con flussi direttamente? Io uso un metodo che legge lo stream in blocchi, crittografa un chunk di chunk e scrive il risultato nel flusso di destinazione. Funziona anche con file molto grandi e non è troppo lento. –
Ho risolto il problema nella mia implementazione. Ora funziona velocemente per entrambe: operazioni di lettura e scrittura. –
È un peccato che non si possa condividere il codice sorgente. Sembra un'ottima soluzione. Potresti almeno condividere alcune informazioni su come hai risolto il problema? –