问题描述
- JAVA项目中做登录加密操作
- 在项目中做用户登录操作,如果一个陌生人随意乱输用户名和密码,假定正好输入都正确(数据库中已保存的),为避免此类问题发生,要对登录做加密,使用MD5方法是不是比较好,是否还有其它好的方法,谢谢
解决方案
因此,作为这个用途,那些不可逆的散列算法都可以达到这个目的,比如MD5、SHA1等等,以及它们的变种,比如两次MD5,加上一个随机数再MD5(俗称加盐)。为什么要变化?因为人们将常见密码和MD5存入一个很大的数据库,所以反插起来很容易。
解决方案二:
MD5不是也不能防止用户误打误撞输入对密码进入别人系统的。
而是避免万一服务器被攻破,人家拿到数据库的数据,没法直接得到明文的密码。因为没法简单根据MD5知道用户原来的密码是什么。
为什么原始密码那么敏感?因为用户可能一个密码用在几个地方,泄漏包含密码的数据库会造成很大的问题。
时间: 2024-11-02 21:30:43