C# 加密、解密 XML 文件操作
C#加密、解密XML文件操作。我写了一个小程序,数据是用XML存储的,我不想让别人访问我的这个xml文件,所以需要加密!求相关的加密、解密代码!写好注释!...
C# 加密、解密 XML 文件操作。
我写了一个小程序,数据是用XML存储的,我不想让别人访问我的这个xml文件,所以需要加密!
求相关的加密、解密代码!写好注释! 展开
我写了一个小程序,数据是用XML存储的,我不想让别人访问我的这个xml文件,所以需要加密!
求相关的加密、解密代码!写好注释! 展开
3个回答
推荐于2018-04-06
展开全部
以下给出里两种加密方法1,MD5 ;2,RSA
MD5加密如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
namespace 数据加密与解密
{
public partial class frmMD5 : Form
{
public frmMD5()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{ MessageBox.Show("请输入加密数据"); return; }
MD5CryptoServiceProvider M5 = new MD5CryptoServiceProvider();
textBox2.Text = ASCIIEncoding.ASCII.GetString(M5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(textBox1.Text)));
}
//MD5是不可的算法。破解只有用暴力破解法
private void button2_Click(object sender, EventArgs e)
{
MD5CryptoServiceProvider M5 = new MD5CryptoServiceProvider();
//this.textBox3.Text=M5.
}
}
}
RSA加密如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
namespace 数据加密与解密
{
public partial class frmRSA : Form
{
public frmRSA()
{
InitializeComponent();
this.Text = "RSA加密解密";
tb_Encrypt.ReadOnly = true;
tb_Decrypt.ReadOnly = true;
}
private void button1_Click(object sender, EventArgs e)
{
//使用默认密钥创建RSACryptoServiceProvider对象
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
//显示包含公钥/私钥对的XML表示形式,如果只显示公钥,将参数改为false即可
rtb_Keys.Text = rsa.ToXmlString(true);
//将被加密的字符串转换为字节数组
byte[] dataToEncrypt = Encoding.UTF8.GetBytes(tb_Input.Text);
try
{
//得到加密后的字节数组
byte[] encryptedData = rsa.Encrypt(dataToEncrypt, false);
tb_Encrypt.Text = Encoding.UTF8.GetString(encryptedData);
//得到解密后的字节数组
byte[] decryptedData = rsa.Decrypt(encryptedData, false);
tb_Decrypt.Text = Encoding.UTF8.GetString(decryptedData);
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}
}
}
MD5加密如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
namespace 数据加密与解密
{
public partial class frmMD5 : Form
{
public frmMD5()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{ MessageBox.Show("请输入加密数据"); return; }
MD5CryptoServiceProvider M5 = new MD5CryptoServiceProvider();
textBox2.Text = ASCIIEncoding.ASCII.GetString(M5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(textBox1.Text)));
}
//MD5是不可的算法。破解只有用暴力破解法
private void button2_Click(object sender, EventArgs e)
{
MD5CryptoServiceProvider M5 = new MD5CryptoServiceProvider();
//this.textBox3.Text=M5.
}
}
}
RSA加密如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
namespace 数据加密与解密
{
public partial class frmRSA : Form
{
public frmRSA()
{
InitializeComponent();
this.Text = "RSA加密解密";
tb_Encrypt.ReadOnly = true;
tb_Decrypt.ReadOnly = true;
}
private void button1_Click(object sender, EventArgs e)
{
//使用默认密钥创建RSACryptoServiceProvider对象
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
//显示包含公钥/私钥对的XML表示形式,如果只显示公钥,将参数改为false即可
rtb_Keys.Text = rsa.ToXmlString(true);
//将被加密的字符串转换为字节数组
byte[] dataToEncrypt = Encoding.UTF8.GetBytes(tb_Input.Text);
try
{
//得到加密后的字节数组
byte[] encryptedData = rsa.Encrypt(dataToEncrypt, false);
tb_Encrypt.Text = Encoding.UTF8.GetString(encryptedData);
//得到解密后的字节数组
byte[] decryptedData = rsa.Decrypt(encryptedData, false);
tb_Decrypt.Text = Encoding.UTF8.GetString(decryptedData);
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}
}
}
追问
我想要控制台形式的,不要界面
展开全部
那你干嘛还用XML存储呢,XML的理念本来就是自描述、开放,要保密你用自定义的二进制格式好了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询