Android 网络交互之MD5为什么要加盐
MD5為什么要加鹽
之前面試的時(shí)候,遇到一個(gè)面試的哥哥。不停的跟我確認(rèn)我對(duì)網(wǎng)絡(luò)傳輸過程中的password進(jìn)行MD5加密的時(shí)候,是否加key了。
當(dāng)時(shí)我很納悶,因?yàn)镸D5本身已經(jīng)是不可逆的了,需要破解只有窮舉法。只是一個(gè)相當(dāng)耗時(shí)間的工作量。
而且,android里面提供的MD5接口也沒有說要加key啊
搜索了一圈,沒找到什么有用的資料
今天在整理關(guān)于網(wǎng)絡(luò)交互過程中身份校驗(yàn)的相關(guān)資料的時(shí)候,遇到了一句話
md5的話記得加鹽。
瞬間腦部了一下,這里的加鹽是不是就是那個(gè)面試我的哥哥說的Key啊
再使用“android md5的話記得加鹽”進(jìn)行搜索的時(shí)候,得到的內(nèi)容就多了....
MD5為什么要加鹽
雖然MD5本身是不可逆的,但是現(xiàn)在網(wǎng)絡(luò)上面關(guān)于MD5這類加密算法的反解析數(shù)據(jù)庫(kù)很多,還有專門的網(wǎng)站。看到那個(gè)網(wǎng)站上的說明,你會(huì)感覺有那么一點(diǎn)的顫抖
本站針對(duì)md5等全球通用加密算法進(jìn)行反向解密,擁有全球最大的數(shù)據(jù)庫(kù),成功率全球第一,很多復(fù)雜密文只有本站才可解密,支持多種算法,實(shí)時(shí)查詢記錄超過24萬(wàn)億條,共占用160T硬盤,成功率95%,一般的查詢是免費(fèi)的。 MD5在線解密破密
而且,生活中很多人使用的密碼的強(qiáng)度都很弱,典型的是:123456
總之,給md5加鹽,目前來看是很有必要的
如何加鹽
這里的加鹽就比較簡(jiǎn)單,也多種多樣
- 把username作為鹽
用password+username進(jìn)行MD5加密,作為加密之后的結(jié)果;假如username可變的話,就不可取了 - 用password明文的hashcode作為鹽
- 隨機(jī)生成一串字符串作為鹽。這里的鹽,需要一起上傳給服務(wù)器進(jìn)行保存。
Discuz論壇密碼就是這么整的。
寫在最好
給MD5加鹽的目的,增加被破解的難度。
密碼學(xué)的應(yīng)用安全,是建立在破解所要付出的成本遠(yuǎn)超出能得到的利益上的。
轉(zhuǎn)載于:https://www.cnblogs.com/zhou-guobao/p/5458926.html
總結(jié)
以上是生活随笔為你收集整理的Android 网络交互之MD5为什么要加盐的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu_2227_Find the no
- 下一篇: 软件工程的意义