⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default.aspx.cs

📁 这是asp.net^和Visual C++Sharp编写的串并口通讯的书籍 源代码
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Security.Cryptography;
using System.Text;
using System.Data.SqlClient;
using System.IO;
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)

            RSAKey();
    }
    #region RSA的加密函数

    public string RSAEncrypt(string m_strEncryptString)
    {
        try
        {
     
            byte[] PlainTextBArray;//定义存储加密字符串数组
            byte[] CypherTextBArray;//义存储加密字后符串数组
            string Result;
            System.Security.Cryptography.RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            //将公有密钥从publickey.txt中读出来加密字符串
            String path = Server.MapPath("key");//保存密钥文件夹
            //将私有密钥保存在文件
            StreamReader redKey = new StreamReader(path + "/publickey.txt", UTF8Encoding.UTF8);
            rsa.FromXmlString(redKey.ReadToEnd());//初始化密钥
            redKey.Close();
            PlainTextBArray = (new UnicodeEncoding()).GetBytes(m_strEncryptString);//把要加密的字符串转换成字节数组
            CypherTextBArray = rsa.Encrypt(PlainTextBArray, false);//对字符串数组进行加密
            Result = Convert.ToBase64String(CypherTextBArray);//显示加密信息
            return Result;
        }
        catch (Exception ex)
        {
            throw new Exception("在加密的时候出现错误!错误提示: \n" + ex.Message);
        }
    }
    #endregion
    //检测用户名是否存在
    public int CheckUser()
    {
         SqlConnection sqlconn = new SqlConnection("server=(local);uid=sa;pwd=;database=db_08");
        int intCount = 0;
        if (txtLoginName.Text == "")
        {
            Response.Write("<script language='javascript'>alert('会员登录名不能为空!');</script>");
        }
        else
        {
            string sqlstr = "select * from tb_04 where Name='" + this.txtLoginName.Text + "'";
            sqlconn.Open();
            SqlCommand sqlcom = new SqlCommand(sqlstr, sqlconn);
            intCount = Convert.ToInt32(sqlcom.ExecuteScalar());
            sqlconn.Close();
        }
        return intCount;
    }
    //检测用户名
    protected void btnTest_Click(object sender, EventArgs e)
    {
        int intCount = CheckUser();//调用方法检测用户名是否存在
        if (intCount != 0)
        {
            Response.Write("<script language='javascript'>alert('该会员已经注册过');</script>");
            return;
        }
        else
        {
            Response.Write("<script language='javascript'>alert('您可以进行正常注册');</script>");
        }
       
    }
    //加密字符串
    //加密字符串
    public string Encrypting(string strSource)
    {
        try
        {
            //把字符串放到byte数组中
            byte[] bytIn = System.Text.Encoding.Default.GetBytes(strSource);
            //建立加密对象的密钥和偏移量对TripleDES,采取24字节或192位的密钥和初始向量
            byte[] key ={ 53, 68, 57, 79, 159, 168, 157, 179, 201, 40, 0, 123, 210, 189, 167, 1 };
            byte[] IV ={ 5, 13, 46, 97, 69, 109, 177, 39 };
            //实例  TripleDESCryptoServiceProvider类将字符串写入流中
            RC2CryptoServiceProvider rc2 = new RC2CryptoServiceProvider();
            rc2.IV = IV;
            rc2.Key = key;
            //加密符串
            ICryptoTransform encrypto = rc2.CreateEncryptor();//实义加密转换
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
            cs.Write(bytIn, 0, bytIn.Length);
            cs.FlushFinalBlock();
            byte[] bytOut = ms.ToArray();
            return System.Convert.ToBase64String(bytOut);


        }
        catch (Exception ex)
        {
            throw new Exception("在文件加密的时候出现错误!错误提示: \n" + ex.Message);
        }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        int intCount = CheckUser();//调用方法检测用户名是否存在
        if (intCount != 0)
        {
            Response.Write("<script language='javascript'>alert('该会员已经注册过');</script>");
            return;
        }
        //调用方法将注册信息加密
        string sqlstr = "insert into tb_04 "
            + "values('" + txtLoginName.Text + "','" + ddlSex.SelectedValue
            + "','" + RSAEncrypt(txtPwd.Text.Trim()) + "','" + txtQuePwd.Text
            + "','" + RSAEncrypt(txtAnsPwd.Text.Trim()) + "','" + RSAEncrypt(txtEmail.Text.Trim()) + "')";
        SqlConnection sqlconn = new SqlConnection("server=(local);uid=sa;pwd=;database=db_08");
        sqlconn.Open();
        SqlCommand sqlcom = new SqlCommand(sqlstr, sqlconn);
        sqlcom.ExecuteNonQuery();
        sqlconn.Close();
        Response.Write("<script>alert('注册成功!');</script>");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("<script>window.close();</script>");
    }
    //随机产生密钥RSA 的密钥产生 
    //产生私钥 和公钥 
    public void RSAKey()
    {
        try
        {
            System.Security.Cryptography.RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            string privatekey = rsa.ToXmlString(true);//产生公私密钥
            string publickey = rsa.ToXmlString(false);//产生公有密钥
            String path = Server.MapPath("key");//保存密钥文件夹
            ////将私有密钥保存在privatekey.txt文件中
            FileStream fsPrivate = File.Open(path + "/privatekey.txt", FileMode.Create, FileAccess.Write);
            StreamWriter InPrivate = new StreamWriter(fsPrivate, UTF8Encoding.UTF8);
            InPrivate.Write(privatekey);
            InPrivate.Flush();
            InPrivate.Close();
            ////将公有密钥保存在文件
            FileStream fsPublic = File.Open(path + "/publickey.txt", FileMode.Create, FileAccess.Write);
            StreamWriter InPublic = new StreamWriter(fsPublic, UTF8Encoding.UTF8);
            InPublic.Write(privatekey);
            InPublic.Flush();
            InPublic.Close();
        }
        catch (Exception ex)
        {
            throw new Exception("在产生密钥的时候出现错误!错误提示: \n" + ex.Message);
        }
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -