登录系统中密码用MD5加密有何作用?防谁呢?(附有代码)

在学习PHP100教程时,看到留言板的登录制作,先把MD5加密过的密码形式存储到数据库中,然后通过登陆框输入未加密的原始密码,PHP从后台帮你把原始密码生成对应的MD5,再去和数据库中的MD5密码进行比对,比对一致则登录成功。

我就在弱弱地想,这样的MD5加密,为了防止 谁呢?

如果MD5加密,是为了让密码变成位数更多更复杂的一个字符串,那盗号者通过前端登录页面尝试试错的 方式猜测密码,也是经过MD5帮忙加密的试错啊,盗号者并不需要直接从头到尾测试16位或32位的密码。

如果是防止侵入数据库的黑客,那黑客一是直接指导了MD5形式的密码,可在前端用不再进行密码MD5加密的形式进行登录,当然,如果黑客侵入了数据库,给你把MD5的密码改成111,不就破解了吗?

那么,登录系统制作过程,使用MD5加密到底是为了防止哪种安全隐患呢?



最佳答案
这个加密当然是为了防止信息不被盗取,修改,保护信息啊,黑客入侵的话也是要只要你的加密后的密码才能知道,况且MD5加密后面可以带好多内容,即使你用破解方式来也是不行的,因为你方式不同破解出来的就有区别啊,我用户登录的密码是加密之后通过互联网传输的,然后跟数据库匹配,你数据库密码改成111也是没用的,因为我数据密码传输的时候就已经加密处理了,虽说你密码输入111,但是经过加密后就不是111了,这个跟数据库匹配不同,就永远错的,黑客倒取信息我想不会那么笨,去记原本只有几个字母的密码加密后成了32位的数字,都是盗取原本密码。最后就是跟你说下,这个MD5你现在还没真的了解到它的用处,等你做一个涉及用户注册,登陆,以及账户资金安全的时候你就知道它的重要性了。





最佳答案
 
 

代码片段(1)[全屏查看所有代码]

1. [代码][Java]代码     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
      * MD5加码。32位
      * @param inStr
      * @return
      */
     public static String MD5(String inStr) {
         MessageDigest md5 = null ;
         try {
             md5 = MessageDigest.getInstance( "MD5" );
         } catch (Exception e) {
             System.out.println(e.toString());
             e.printStackTrace();
             return "" ;
         }
         char [] charArray = inStr.toCharArray();
         byte [] byteArray = new byte [charArray.length];
 
         for ( int i = 0 ; i < charArray.length; i++)
             byteArray[i] = ( byte ) charArray[i];
 
         byte [] md5Bytes = md5.digest(byteArray);
 
         StringBuffer hexValue = new StringBuffer();
 
         for ( int i = 0 ; i < md5Bytes.length; i++) {
             int val = (( int ) md5Bytes[i]) & 0xff ;
             if (val < 16 )
                 hexValue.append( "0" );
             hexValue.append(Integer.toHexString(val));
         }
 
         return hexValue.toString();
     }

最佳答案
这个加密当然是为了防止信息不被盗取,修改,保护信息啊,黑客入侵的话也是要只要你的加密后的密码才能知道,况且MD5加密后面可以带好多内容,即使你用破解方式来也是不行的,因为你方式不同破解出来的就有区别啊,我用户登录的密码是加密之后通过互联网传输的,然后跟数据库匹配,你数据库密码改成111也是没用的,因为我数据密码传输的时候就已经加密处理了,虽说你密码输入111,但是经过加密后就不是111了,这个跟数据库匹配不同,就永远错的,黑客倒取信息我想不会那么笨,去记原本只有几个字母的密码加密后成了32位的数字,都是盗取原本密码。最后就是跟你说下,这个MD5你现在还没真的了解到它的用处,等你做一个涉及用户注册,登陆,以及账户资金安全的时候你就知道它的重要性了。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值