C# 3des
时间: 2023-07-12 08:19:10 浏览: 50
C# 中使用 3DES(Triple DES)加密算法可以使用 .NET Framework 内置的 System.Security.Cryptography 命名空间中的 TripleDES 类实现。下面是一个简单的示例:
```csharp
using System.Security.Cryptography;
using System.Text;
// 要加密的字符串
string original = "Hello, world!";
// 使用 UTF8 编码将字符串转换为字节数组
byte[] originalBytes = Encoding.UTF8.GetBytes(original);
// 创建 TripleDES 实例
TripleDES tripleDES = TripleDES.Create();
// 设置加密密钥和初始化向量(IV)
tripleDES.Key = Encoding.UTF8.GetBytes("MySecretKey1234567890"); // 密钥长度必须为 16、24 或 32 字节
tripleDES.IV = Encoding.UTF8.GetBytes("MyIV1234"); // IV 长度必须为 8 字节
// 创建加密器对象
ICryptoTransform encryptor = tripleDES.CreateEncryptor();
// 加密字节数组
byte[] encryptedBytes = encryptor.TransformFinalBlock(originalBytes, 0, originalBytes.Length);
// 将加密后的字节数组转换为 Base64 字符串
string encrypted = Convert.ToBase64String(encryptedBytes);
// 输出加密结果
Console.WriteLine("Encrypted string: {0}", encrypted);
```
要解密加密后的字符串,可以使用相同的密钥和 IV,并使用 TripleDES.CreateDecryptor 方法创建解密器对象,然后调用 TransformFinalBlock 方法解密字节数组。