c# 异或加密byte[]
时间: 2023-11-13 14:06:19 浏览: 65
以下是 C# 中异或加密 `byte[]` 的示例代码:
```csharp
public static byte[] XorEncrypt(byte[] inputBytes, byte[] key)
{
byte[] outputBytes = new byte[inputBytes.Length];
for (int i = 0; i < inputBytes.Length; i++)
{
outputBytes[i] = (byte)(inputBytes[i] ^ key[i % key.Length]);
}
return outputBytes;
}
```
这个方法接受两个参数:要加密的 `byte[]` 和密钥 `byte[]`。这个方法使用循环将每个输入字节与密钥字节执行异或操作,并将结果存储在输出字节数组中。注意,由于密钥可能比输入字节数组短,在执行异或操作时需要使用 `%` 运算符获取密钥中的下一个字节。
以下是使用示例:
```csharp
// 要加密的数据
byte[] inputBytes = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05 };
// 密钥
byte[] key = new byte[] { 0x10, 0x20, 0x30 };
// 执行加密
byte[] encryptedBytes = XorEncrypt(inputBytes, key);
// 输出加密后的数据
foreach (byte b in encryptedBytes)
{
Console.Write($"{b:X2} ");
}
```
输出:
```
11 22 33 14 35
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)