以下是关于c#文本加密程序代码示例的完整攻略:
简介
文本加密是一种将明文转换成密文的技术,常用于保护敏感信息的安全性。c#是一种面向对象编程语言,可以用它实现文本加密算法。本攻略将介绍c#文本加密程序代码示例的实现方法。
程序代码示例
以下是一个c#文本加密程序代码示例:
using System;
using System.IO;
using System.Security.Cryptography;
namespace EncryptionApp
{
class Program
{
static void Main(string[] args)
{
string plainText = "Hello World!";
string encryptedText = Encrypt(plainText, "MySecret");
Console.WriteLine("Original Text: " + plainText);
Console.WriteLine("Encrypted Text: " + encryptedText);
}
static string Encrypt(string plainText, string key)
{
byte[] encrypted;
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = System.Text.Encoding.UTF8.GetBytes(key);
aesAlg.IV = new byte[aesAlg.BlockSize / 8];
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
using (MemoryStream msEncrypt = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{
swEncrypt.Write(plainText);
}
encrypted = msEncrypt.ToArray();
}
}
}
return Convert.ToBase64String(encrypted);
}
}
}
上面的示例程序实现了AES对称加密算法,使用明文和密钥生成密文,并以Base64形式返回。在Main方法中,将明文"Hellow World!"和密钥"MySecret"作为参数传递给Encrypt方法,然后输出原始文本和加密后的文本。
另外,如果你需要对解密文件也进行操作,可以参考以下代码示例,实现对Base64编码字符串解码并进行解密。
static void Decrypt(string encryptedText, string key)
{
byte[] cipherText = Convert.FromBase64String(encryptedText);
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = System.Text.Encoding.UTF8.GetBytes(key);
aesAlg.IV = new byte[aesAlg.BlockSize / 8];
ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);
using (MemoryStream msDecrypt = new MemoryStream(cipherText))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
string plaintext = srDecrypt.ReadToEnd();
Console.WriteLine("Decrypted Text: " + plaintext);
}
}
}
}
}
在以上代码示例中,Decrypt方法将加密过的文本和密钥作为参数传入,对Base64编码字符串进行解码,并使用AES对称解密算法进行解密操作。
注意事项
-
记得引用System.Security.Cryptography命名空间。
-
生成加密密钥的过程需要保证良好的随机性,如使用RNGCryptoServiceProvider等随机数生成器。
以上就是c#文本加密程序代码示例的详细攻略解释了,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c#文本加密程序代码示例 - Python技术站