using System;
using System.IO;
class Program
{
// 简单的异或加密函数
static void XorEncryptDecrypt(byte[] data, byte key)
{
for (int i = 0; i < data.Length; i++)
{
data[i] ^= key;
}
}
static void Main()
{
// 假设大文件路径
string filePath = "largeFile.txt";
// 假设要提取的起始字节位置和长度
long startByte = 100;
int length = 200;
// 从大文件中提取指定字节范围的数据
byte[] extractedData;
using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
fileStream.Seek(startByte, SeekOrigin.Begin);
extractedData = new byte[length];
fileStream.Read(extractedData, 0, length);
}
// 加密提取的数据
byte encryptionKey = 0x42;
XorEncryptDecrypt(extractedData, encryptionKey);
// 使用MemoryStream模拟网络流传输数据
using (MemoryStream networkStream = new MemoryStream())
{
networkStream.Write(extractedData, 0, extractedData.Length);
networkStream.Position = 0;
// 模拟接收端,从网络流中读取数据
byte[] receivedData = new byte[length];
networkStream.Read(receivedData, 0, length);
// 解密接收到的数据
XorEncryptDecrypt(receivedData, encryptionKey);
// 输出解密后的数据(这里简单打印前10个字节)
Console.WriteLine("Decrypted Data:");
for (int i = 0; i < Math.Min(10, receivedData.Length); i++)
{
Console.Write(receivedData[i].ToString("X2") + " ");
}
Console.WriteLine();
}
}
}