C# 使用三元组对文件进行加密和解密
有人能给我一些代码或有价值的建议来加密和解密C#中的一个大文件吗? 我试着用TripleDES做这个。它应该是安全、快速和可靠的C# 使用三元组对文件进行加密和解密,c#,C#,有人能给我一些代码或有价值的建议来加密和解密C#中的一个大文件吗? 我试着用TripleDES做这个。它应该是安全、快速和可靠的 这里的加密和解密应该基于我的密钥完成。下面是一段代码,如果其他人正在寻找它 public static byte[] Encrypt(byte[] plain, String key) { byte[] keyArray = SoapHexBinary.Parse(key).Value; TripleDESCrypto
这里的加密和解密应该基于我的密钥完成。下面是一段代码,如果其他人正在寻找它
public static byte[] Encrypt(byte[] plain, String key)
{
byte[] keyArray = SoapHexBinary.Parse(key).Value;
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.Mode = CipherMode.CBC;
tdes.Padding = PaddingMode.None;
tdes.IV = new byte[8];
ICryptoTransform cTransform = tdes.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(plain, 0, plain.Length);
tdes.Clear();
return resultArray;
}
public static byte[] Decrypt(byte[] cipher, String key)
{
byte[] keyArray = SoapHexBinary.Parse(key).Value;
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
tdes.Mode = CipherMode.CBC;
tdes.Padding = PaddingMode.None;
tdes.IV = new byte[8];
ICryptoTransform cTransform = tdes.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(cipher, 0, cipher.Length);
tdes.Clear();
return resultArray;
}
请记住,我是以二进制格式传递密钥的。上面的代码使用初始向量{0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}的CBC密码模式,填充设置为无,因为我传入的数据总是64位的倍数。因此,如果数据大小不固定,则可能需要设置填充