一 为什么需要加密?
比如当前有个用户进行注册,他输入的账号密码是“ltl”和"123456",那么我们肯定要将账号密码保存到数据库中。在没有接触过“加密”这个概念时,我们肯定是将账号密码以明文的方式保存到user表中。那么明文存放密码会有哪些问题呢?
如果有人能看到我们的User表,那他就可以随意登录任何一个账号了。这对用户数据安全性来说是不合理的。
所以我们要将用户密码以“密文”形式保存到数据库当中。这样的话别人就算获取到了user表的信息,他也无法知道我们的密码,也就无法登录我们的用户账号。
二 加密技术有哪些需求?
1.同样的内容,每次执行加密,都会得到一样的密文字符串
用户登录时,我们需要验证用户账号及密码的正确性。但是将用户登录时输入的明文密码和数据库中的密文进行比较肯定是不相等的,所以我们要将用户登录时输入的密码也进行加密后再去和数据库中的密码比较。所以这就要求只要内容是一样的,加密后得到的密文也要是一样的。
2.加密后的密文不可逆
如果偷盗者拿到密文后,可以很轻松地就解密得到明文,那用户的数据安全性也是不合格的。所以我们至少要使得加密后的密文用一般的解密软件无法破解。
三 在java开发中通常采用哪些加密技术?
1.Md5加密
Md5加密技术可以将我们的明文密码转换成一段由32个16进制字符组成的密文字符串,例如0caa