MD5加密

对于一个数据将其补位,补到(N+1)*512+448位,在使用一个数(盐)进行位运算。

MD5位运算会丢失原本的数据,因此MD5是无法解密的。
Md5两次加密:
第一次 (在前端加密,客户端):密码加密是(明文密码+固定盐值)生成md5用于传输,目的,由于http是明文传输,当输入密码若直接发送服务端验证,此时被截取将直接获取到明文密码,获取用户信息。

第二次(服务端):当获取到前端发送来的密码后。通过MD5(密码+随机盐值)再次生成密码后存入数据库。

防止数据库被盗的情况下,通过md5反查,查获用户密码。方法是盐值会在用户登陆的时候随机生成,并存在数据库中,这个时候就会获取到。
虽然MD5是无法解密的,但是如果服务端没有二次MD5加密,数据库被盗,而且知道加密使用的盐,可以进行暴力破解

你可能感兴趣的:(java,java)