• 网站功能小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         }

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

  • 相关阅读:
    P7473 [NOI Online 2021 入门组] 重力球
    CF896D Nephren Runs a Cinema
    [持续更新]一些有趣的数学问题
    [微积分与无穷级数]AMM Problems笔记
    [补题]SWERC-2018
    [补题]Asia Regional Contest, Tokyo, 2014

    [NOI2005]瑰丽华尔兹-单调队列优化DP
    [补题]2017多校D-BD-区间筛/二分+线段树
    [补题]2017多校5A/HDU6085-Rikka with Candies-bitset优化
  • 原文地址:https://www.cnblogs.com/SunshineAgain/p/6591977.html
Copyright © 2020-2023  润新知