网站功能小Demo——学习MD5加密的一点心得

  生活在数字信息化时代,我们每天接触最多的就是网络,其中包括我们在各大形形色色的网站注册的账户。从而网络安全变得极其重要,毕竟涉及到自身的账户信息安全以及财产安全。那么网站在建设的过程中时如何做到保护信息安全的呢?下面就从网站登录的过程来说明这一点。登录的过程中,对用户输入的密码进行加密,然后与数据库用户密码进行对比,二者匹配成功方可登录网站。这里介绍的加密算法是MD5加密。

  以前,我们用MD5加密算法加密一段字符是这样的:

1 string str_1 = FormsAuthentication.HashPasswordForStoringInConfigFile(Input_2, "MD5");

  但是现在任然用这一段代码来加密字符串时Visual Studio 2015会给出相关建议:

  显示方法时"弃用的",在Visual Studio 2013中则显示"已过时"。主要原因就是该方法并没有想象的那么安全,有些比较大的解密网站可以很快的给出对应的解密密文(此方法是建立在密码设置相对比较简单的情况之上),加密的密文用暴力破解的的方式也可以解密出来。所以便催生了改进版本的MD5加密,在上述加密方法上有了很大的改进。而且代码本身也不是很难理解,加密的大致过程如下:

 1         /// <summary>
 2         /// 对字符串加密的过程
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         protected void SSS(object sender, EventArgs e)
 7         {
 8             byte[] Input_1 = Encoding.Default.GetBytes(In_str.Value.Trim());
 9 
10             MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
11 
12             byte[] Output = md5.ComputeHash(Input_1);
13 
14             StringBuilder sb = new StringBuilder();
15 
16             for (int i = 0; i <= Output.Length - 1; i++)
17             {
18                 sb.Append(Output[i].ToString("x2"));
19             }
20 
21             ClientScript.RegisterStartupScript(this.GetType(),"message", "<script>alert('"+ sb + "')</script>");
22         }

  加密只是维护网络安全的冰山一角,但是共同维护网络安全需从点滴做起!

 

posted @ 2017-03-20 22:20  天青涩,再等你~  阅读(650)  评论(0编辑  收藏  举报