1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| using (IsolatedStorageFile isStore = IsolatedStorageFile.GetUserStoreForApplication())
{
this.ProgressBarWorking.Visibility = System.Windows.Visibility.Visible;
this.ProgressBarWorking.IsIndeterminate = true;
AesManaged MyAes = new AesManaged();
MyAes.Key = System.Text.Encoding.UTF8.GetBytes(App.AesKey);
MyAes.IV = System.Text.Encoding.UTF8.GetBytes(App.AesIv);
int blockSizeBytes = MyAes.BlockSize / 8;
byte[] data = new byte[blockSizeBytes];
int bytesRead = 0;
int count = 0;
int offset = 0;
foreach (string currentFileName in isStore.GetFileNames("*.*"))
{
#region Cryptage
IsolatedStorageFileStream ClearedFile = new IsolatedStorageFileStream(currentFileName, FileMode.Open, FileAccess.Read, isStore);
IsolatedStorageFileStream CryptedFile = new IsolatedStorageFileStream("Crypted" + currentFileName, FileMode.OpenOrCreate, FileAccess.Write, isStore);
CryptedFile.SetLength(0);
ICryptoTransform AesEncryptor = MyAes.CreateEncryptor();
CryptoStream MyCryptoStream = new CryptoStream(CryptedFile, AesEncryptor, CryptoStreamMode.Write);
using(ClearedFile)
{
do
{
count = ClearedFile.Read(data, 0, blockSizeBytes);
offset += count;
MyCryptoStream.Write(data, 0, count);
bytesRead += blockSizeBytes;
}
while (count > 0);
ClearedFile.Close();
}
MyCryptoStream.FlushFinalBlock();
MyCryptoStream.Close();
CryptedFile.Close();
#endregion
#region Upload
//IsolatedStorageFileStream CurrentStream = isStore.OpenFile(currentFileName, FileMode.OpenOrCreate);
await MyLiveConnectClient.UploadAsync(App.OneDriveFolderId, currentFileName, CryptedFile, OverwriteOption.Overwrite);
#endregion
} |
Partager