MD5加密的数据泄露出去依然可以被破解(反查彩虹表)。
两次MD5
-
用户端:PASS = MD5(明文+固定salt)HTTP是明文传输的, 如果客户端不做加密处理, 一旦被截包,密码泄露
-
服务端:PASS = MD5(用户输入+随机salt)防止数据库被盗, 彩虹表 反查得到密码
MD5:实际上是把 一个字符串算出一个16位的Byte数组。 而常见的MD5String是将Byte数组给转换成对应的16进制表示(一个Byte(8bit)对应2个16进制数),所以String有32位。
网友评论