C#实现简单的3DES加密解密功能示例可以分为以下步骤:
1. 引入命名空间
using System.Security.Cryptography;
- 创建3DES加密对象
TripleDESCryptoServiceProvider des3 = new TripleDESCryptoServiceProvider();
- 设置加密密钥和 IV
des3.Key = Encoding.UTF8.GetBytes("123456789012345678901234");
des3.IV = Encoding.UTF8.GetBytes("12345678");
- 设置加密模式和填充模式
des3.Mode = CipherMode.CBC;
des3.Padding = PaddingMode.PKCS7;
- 创建加密器
ICryptoTransform encryptor = des3.CreateEncryptor();
- 加密数据
byte[] inputData = Encoding.UTF8.GetBytes("Hello, World!");
byte[] encryptedData = encryptor.TransformFinalBlock(inputData, 0, inputData.Length);
- 创建解密器
ICryptoTransform decryptor = des3.CreateDecryptor();
- 解密数据
byte[] decryptedData = decryptor.TransformFinalBlock(encryptedData, 0, encryptedData.Length);
string result = Encoding.UTF8.GetString(decryptedData);
示例说明1:加密字符串并获取加密后的字符串
// 创建3DES加密对象
TripleDESCryptoServiceProvider des3 = new TripleDESCryptoServiceProvider();
// 设置加密密钥和 IV
des3.Key = Encoding.UTF8.GetBytes("123456789012345678901234");
des3.IV = Encoding.UTF8.GetBytes("12345678");
// 设置加密模式和填充模式
des3.Mode = CipherMode.CBC;
des3.Padding = PaddingMode.PKCS7;
// 创建加密器
ICryptoTransform encryptor = des3.CreateEncryptor();
// 加密数据
byte[] inputData = Encoding.UTF8.GetBytes("Hello, World!");
byte[] encryptedData = encryptor.TransformFinalBlock(inputData, 0, inputData.Length);
// 获取加密后的字符串
string encryptedString = Convert.ToBase64String(encryptedData);
Console.WriteLine(encryptedString); // 输出:aIB2qMhWj/w=
示例说明2:解密字符串并获取解密后的字符串
// 创建3DES加密对象
TripleDESCryptoServiceProvider des3 = new TripleDESCryptoServiceProvider();
// 设置加密密钥和 IV
des3.Key = Encoding.UTF8.GetBytes("123456789012345678901234");
des3.IV = Encoding.UTF8.GetBytes("12345678");
// 设置加密模式和填充模式
des3.Mode = CipherMode.CBC;
des3.Padding = PaddingMode.PKCS7;
// 创建解密器
ICryptoTransform decryptor = des3.CreateDecryptor();
// 解密数据
byte[] encryptedData = Convert.FromBase64String("aIB2qMhWj/w=");
byte[] decryptedData = decryptor.TransformFinalBlock(encryptedData, 0, encryptedData.Length);
// 获取解密后的字符串
string decryptedString = Encoding.UTF8.GetString(decryptedData);
Console.WriteLine(decryptedString); // 输出:Hello, World!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现简单的3DES加密解密功能示例 - Python技术站