在C#中,可以使用System.Security.Cryptography命名空间中的DESCryptoServiceProvider类来实现Java DES加密的等效代码。
下面是一个示例代码:
using System;
using System.Security.Cryptography;
using System.Text;
public class DESHelper
{
public static string Encrypt(string plainText, string key, string iv)
{
byte[] keyBytes = Encoding.UTF8.GetBytes(key);
byte[] ivBytes = Encoding.UTF8.GetBytes(iv);
byte[] plainBytes = Encoding.UTF8.GetBytes(plainText);
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
des.Key = keyBytes;
des.IV = ivBytes;
des.Mode = CipherMode.CBC;
des.Padding = PaddingMode.PKCS7;
using (ICryptoTransform encryptor = des.CreateEncryptor())
{
byte[] encryptedBytes = encryptor.TransformFinalBlock(plainBytes, 0, plainBytes.Length);
return Convert.ToBase64String(encryptedBytes);
}
}
}
public static string Decrypt(string encryptedText, string key, string iv)
{
byte[] keyBytes = Encoding.UTF8.GetBytes(key);
byte[] ivBytes = Encoding.UTF8.GetBytes(iv);
byte[] encryptedBytes = Convert.FromBase64String(encryptedText);
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
des.Key = keyBytes;
des.IV = ivBytes;
des.Mode = CipherMode.CBC;
des.Padding = PaddingMode.PKCS7;
using (ICryptoTransform decryptor = des.CreateDecryptor())
{
byte[] decryptedBytes = decryptor.TransformFinalBlock(encryptedBytes, 0, encryptedBytes.Length);
return Encoding.UTF8.GetString(decryptedBytes);
}
}
}
}
public class Program
{
public static void Main(string[] args)
{
string plainText = "Hello, World!";
string key = "12345678";
string iv = "87654321";
string encryptedText = DESHelper.Encrypt(plainText, key, iv);
Console.WriteLine("Encrypted Text: " + encryptedText);
string decryptedText = DESHelper.Decrypt(encryptedText, key, iv);
Console.WriteLine("Decrypted Text: " + decryptedText);
}
}
在上述代码中,我们定义了一个DESHelper类,其中包含了Encrypt和Decrypt方法用于加密和解密操作。使用DESCryptoServiceProvider类来进行DES加密和解密,设置相应的密钥、向量、加密模式和填充模式。
在Main方法中,我们可以看到如何使用DESHelper类进行加密和解密操作。首先,我们定义了明文、密钥和向量。然后,调用Encrypt方法对明文进行加密,并输出加密后的结果。接着,调用Decrypt方法对加密后的结果进行解密,并输出解密后的明文。
请注意,这只是一个简单的示例代码,实际应用中需要根据具体需求进行适当的修改和优化。
推荐的腾讯云相关产品:腾讯云密钥管理系统(KMS),用于管理和保护加密密钥。
腾讯云产品介绍链接地址:https://cloud.tencent.com/product/kms
领取专属 10元无门槛券
手把手带您无忧上云