예제 #1
0
 public static string TryBase64HashFromFile(this FileInfo file)
 {
     try
     {
         return(file.Base64HashFromFile());
     }
     catch
     {
         return(null);
     }
 }
예제 #2
0
        public void EncryptDecryptLargeFile_ShouldWork()
        {
            var fileInfo = new FileInfo("largetestfile.fi");

            using (var ws = fileInfo.OpenWrite())
            {
                for (int i = 0; i < 1024 * 3; i++) //3Gb --> 1Mb per round
                {
                    ws.Write(Symetric.GetRandomBytes(1024 * 1024 * 8));
                }
            }

            var crypted   = fileInfo.EncryptFile("passs", false, KeySize.Highest_256);
            var decrypted = crypted.DecryptFile("passs", true);


            var result = fileInfo.Base64HashFromFile() == decrypted.Base64HashFromFile();

            fileInfo.Delete();
            decrypted.Delete();
            result.Should().BeTrue();
        }