Как передать криптопоток или memorysteam непосредственно в тег видео в HTML5 для воспроизведения видео

Я хочу воспроизводить зашифрованное видео в моем веб-приложении asp.net, но я не хочу, чтобы все видео расшифровывалось и сохранялось во временной папке для воспроизведения видео, а есть ли какой-нибудь способ с помощью потока памяти или криптопотока воспроизвести видео непосредственно в html5 видео плеер я скопировал свой код здесь

public void Encrypt1(string inputFile, string outputFile, string salt)
    {
      AesManaged aesManaged = new AesManaged();
      byte[] bytes = new UTF8Encoding().GetBytes(salt);
      Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(salt, bytes);
      aesManaged.Padding = PaddingMode.PKCS7;
      aesManaged.Key = rfc2898DeriveBytes.GetBytes(16);
      aesManaged.IV = rfc2898DeriveBytes.GetBytes(16);
      using (FileStream fileStream = new FileStream(outputFile, FileMode.Create))
      {
        using (CryptoStream cryptoStream = new CryptoStream((Stream) fileStream, aesManaged.CreateEncryptor(), CryptoStreamMode.Write))
        {
          new FileStream(inputFile, FileMode.Open).CopyTo((Stream) cryptoStream);
          cryptoStream.FlushFinalBlock();
        }
      }
    }
}


public void DecryptMe(string inputFile, string outputFile, string salt)
        {
            AesManaged aesManaged = new AesManaged();
            byte[] bytes = new UTF8Encoding().GetBytes(salt);
            Rfc2898DeriveBytes rfc2898DeriveBytes = new                      Rfc2898DeriveBytes(salt, bytes);
            aesManaged.Padding = PaddingMode.PKCS7;
            aesManaged.Key = rfc2898DeriveBytes.GetBytes(16);
            aesManaged.IV = rfc2898DeriveBytes.GetBytes(16);
            using (FileStream fileStream = new FileStream(outputFile, FileMode.Create))
            {
                using (CryptoStream cryptoStream = new CryptoStream((Stream)fileStream, aesManaged.CreateDecryptor(), CryptoStreamMode.Write))
                {
                    new FileStream(inputFile, FileMode.Open).CopyTo((Stream)cryptoStream);
                    cryptoStream.FlushFinalBlock();
                }
            }
        }

0 ответов

Другие вопросы по тегам