MD5加密的數(shù)據(jù)泄露出去依然可以被破解(反查彩虹表)。
兩次MD5
用戶端:PASS = MD5(明文+固定salt)HTTP是明文傳輸?shù)模?如果客戶端不做加密處理, 一旦被截包,密碼泄露
服務(wù)端:PASS = MD5(用戶輸入+隨機(jī)salt)防止數(shù)據(jù)庫被盜, 彩虹表 反查得到密碼
MD5:實(shí)際上是把 一個(gè)字符串算出一個(gè)16位的Byte數(shù)組。 而常見的MD5String是將Byte數(shù)組給轉(zhuǎn)換成對(duì)應(yīng)的16進(jìn)制表示(一個(gè)Byte(8bit)對(duì)應(yīng)2個(gè)16進(jìn)制數(shù)),所以String有32位。