DESCryptoServiceProvider加密、解密
时间: 2024-04-01 17:37:22 浏览: 13
DESCryptoServiceProvider是一个加密算法提供程序,可以用来对数据进行加密和解密。它使用DES算法进行加密和解密,该算法是一种对称密钥算法,也就是说加密和解密使用的是同一个密钥。
下面是使用DESCryptoServiceProvider进行数据加密和解密的示例代码:
```
// 加密
public static byte[] Encrypt(byte[] data, byte[] key, byte[] iv)
{
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
des.Key = key;
des.IV = iv;
ICryptoTransform encryptor = des.CreateEncryptor();
return encryptor.TransformFinalBlock(data, 0, data.Length);
}
}
// 解密
public static byte[] Decrypt(byte[] data, byte[] key, byte[] iv)
{
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
des.Key = key;
des.IV = iv;
ICryptoTransform decryptor = des.CreateDecryptor();
return decryptor.TransformFinalBlock(data, 0, data.Length);
}
}
```
其中,data是待加密或解密的数据,key是密钥,iv是初始向量。在加密时,将数据、密钥和初始向量传入加密器的TransformFinalBlock方法中,即可得到加密后的密文;在解密时,将密文、密钥和初始向量传入解密器的TransformFinalBlock方法中,即可得到解密后的明文。