gpt4 book ai didi

c# - 使用安全 key C# 进行 DES 编码

转载 作者:太空狗 更新时间:2023-10-30 01:10:26 26 4
gpt4 key购买 nike

我知道这可能是一个常见问题,但我无法在任何地方找到答案。所以我有字节数组键和字节数组值,我需要生成新的 8 字节数组,该数组已在 C# 中用 DES 加密

最佳答案

这是您的示例代码。记住用随机数据填充 trailig 零,记住写入的字节和 DES 参数:Key、IV。

祝愿 ;)

using System.Security.Cryptography;
using System.IO;
namespace hash
{
public static class Program
{
static void Main(string[] args)
{
byte[] data = new byte[10000];
DES des = DES.Create();
int bytesWritten = 0;
data = Encode(data, des, out bytesWritten);
}

private static byte[] Encode(byte[] data, DES des, out int bytesWritten)
{
using (var input = new MemoryStream(data))
using (var output = new MemoryStream())
using (var csp = new DESCryptoServiceProvider())
using (var encStream = new CryptoStream(output, csp.CreateEncryptor(des.Key, des.IV), CryptoStreamMode.Write))
{
int length = 0;
byte[] buffer = new byte[256];
bytesWritten = 0;
while ((length = input.Read(buffer, 0, 256)) > 0)
{
if (length < 256)
{
byte[] pad = new byte[256];
using (var rng = RNGCryptoServiceProvider.Create())
{
rng.GetBytes(pad);
for (int i = 0; i < 256 - length; i++)
{
buffer[length + i] = pad[i];
}
}
encStream.Write(buffer, 0, length);
bytesWritten += length;
break;
}
encStream.Write(buffer, 0, 256);
bytesWritten += length;
}
return output.ToArray();
}
}
}
}

关于c# - 使用安全 key C# 进行 DES 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4723322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com