一、前言
众所周知,我们在网络中传送一些数据时,会有被窃听的风险。因此,我们需要对需要保密的数据进行加密,才能保证数据不被泄露。而加密的方式有两种,一种是对客户端和服务端整个通信信道进行保护加密,如https协议中的SSL,还有另一种加密是对通信数据本身进行加密,如MD5,这边文章主要将MD5在用户登陆功能中的应用。
二、存在的问题
在过去的开发中,比如对用户密码的加密,笔试是直接用MD5在后台对客户端传送过来的用户密码进行加密后存储在数据库中。虽然用MD5加密后,是不能逆向解密得到明文密码,但是现在网上有所谓的在线解密MD5加密的密文,其原理是收集用户常用的简单密码形成了一个密码字典,并将字典中的密码用MD5加密后存储起来,在所谓的“解密“的时候,就将真正用户密码加密都的密文与已存储的密码相比较,如该密文存在于字典当中,即可以“解密”。因此,简单的用MD5对用户密码加密还不安全。