当前位置: 首页 > news >正文

wordpress 用户名/seo 工具分析

wordpress 用户名,seo 工具分析,网站上的广告位图片怎么做呢,做pc端网站机构本实例实现在网站会员注册时使用类的加密算法,加密会员信息的敏感数据将加密后的信息存储到数据库中。运行实例,填写会员信息如图17.13 所示。 单击“注册”按钮时将会员的敏感数据加密,然后将加密后的信息存储到数据库中,本实例加…

本实例实现在网站会员注册时使用类的加密算法,加密会员信息的敏感数据将加密后的信息存储到数据库中。运行实例,填写会员信息如图17.13 所示。




单击“注册”按钮时将会员的敏感数据加密,然后将加密后的信息存储到数据库中,本实例加密了会员的密码、密码提示答案、E-mail 等敏感数据,加密后的数据如图17.14 所示。



关 键技术

不对称算法通常用于加密少量数据,如加密对称密钥和IV。通常执行不对称加密的个人使用由另一方生成的公钥。.NET Framework 为此目的而提供了RSACryptoServiceProvider 类,该类一些用于加密的方法及说明如表17.2 所示。


下在对比较重要的加密方法进行说明。
(1)Encrypt 方法
该方法使用RSA 算法对数据进行加密,语法如下:
public byte[] Encrypt (byte[] rgb,bool fOAEP)

参数说明
rgb:要加密的数据。
fOAEP:如果为true,则使用OAEP 填充(仅在运行Microsoft Windows XP 或更高版本的计算机上可用)执行直接的RSA 加密;

如果为false,则使用PKCS#1 1.5 版填充。

(2)ToXmlString方法
该方法用于创建并返回包含当前RSA 对象的密钥的 XML 字符串,语法如下:
public override string ToXmlString (bool includePrivateParameters)

参数说明
includePrivateParameters:true 表示同时包含RSA 公钥和私钥;false 表示仅包含公钥。
返回值:包含当前RSA 对象的密钥的XML 字符串。

设 计过程

自定义一个随机产生RSA类密钥的方法RSAKey(),此方法产生私钥和公钥,私钥用来解密数据,公钥用来加密数据,并将私钥和公钥分别存储在文件中,主要代码如下:

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);
}
}

在初次加载程序时调用RSAKey()方法,为RSACryptoServiceProvider 类产生密钥,主要代码如下:

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
RSAKey();
}


自定义一个方法RSAEncrypt(string m_strEncryptString),此方法用于加密字符串,从密钥文件中读取出公钥加密信息,然后返回加密后的字符串信息,主要代码如下:

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);
}
}

自定义CheckUser()方法,此方法返回一个整数,判断用户名是否存在,主要代码如下:

public int CheckUser()
{
SqlConnection sqlconn = new SqlConnection("Server=(local);uid=sa;pwd=;database=db_Tome2");
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;
}

单击“检验”按钮,调用CheckUser()方法检验用户名是否已注册,主要代码如下:

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>");
}
}



单击“注册”按钮,调用RSAEncrypt 方法将敏感信息加密后存储到数据库中,主要代码如下:

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_Tome2;");
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>");
}




http://www.jmfq.cn/news/5242663.html

相关文章:

  • 网站建设公司./网页设计主题推荐
  • 王也道长经典语录/安徽百度seo教程
  • 网站建设你懂的/今天国内最新消息
  • 电商网站的推广方式/优化公司怎么优化网站的
  • 公司做网站自己可以做/长沙优化科技有限公司
  • 设计广告图用什么软件/长沙网站优化seo
  • 网站备案查询怎么查/西安百度公司地址介绍
  • 做调查的有哪些网站有哪些/百度长尾关键词挖掘工具
  • 行业网站建设收费明细/成都网站建设公司
  • 常州营销型网站建设/合肥网络优化推广公司
  • 北京南站在几环/网站设计公司报价
  • 自己做有趣的网站/链交换
  • 网站制作公司去哪找客户/培训课程表
  • 九江建筑/宜昌网站seo
  • 网站服务器 内容更新吗/全自动引流推广软件免费
  • 专业的购物网站定制/seo草根博客
  • 成人本科可以考研吗/搜索引擎优化的完整过程
  • 主机托管服务/seo建设招商
  • 做网站 信科网络/设计好看的网站
  • 创意产品设计大赛/杭州百度快照优化排名推广
  • 东莞网站制作方案定制/网站搭建需要什么技术
  • 申请域名后可以做自己的网站吗/怎样做好网络推广呀
  • 东莞网站建设推广公司哪家好/搜索引擎推广的三种方式
  • 牛b插网站建设/企业网站seo公司
  • 个人网站建设方案书 备案/色盲测试图第六版
  • 律师事务所网站设计方案/百度权重划分等级
  • 百度做的网站/汕头seo全网营销
  • 百度竞价收费标准/sem与seo
  • 面试网站开发/爱站网站长seo综合查询工具
  • 品牌网站建设方案/百度搜索引擎广告