四虎国产精品永久地址998_chinesexxx少妇露脸_日本丁香久久综合国产精品_一区二区久久久久_四虎av影视_久久久久国产一区二区三区不卡

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁(yè) > IT資訊 > 精選文章 > 密碼哈希指南:如何確保數(shù)據(jù)庫(kù)安全

密碼哈希指南:如何確保數(shù)據(jù)庫(kù)安全

2020-09-04 18:00:18 | 來(lái)源:中培企業(yè)IT培訓(xùn)網(wǎng)

散列算法是單向函數(shù)。他們采用任何字符串并將其變成固定長(zhǎng)度的“指紋”,該指紋無(wú)法反轉(zhuǎn)。這意味著,如果數(shù)據(jù)庫(kù)中的數(shù)據(jù)受到破壞,則黑客無(wú)法很好地獲得用戶密碼,因?yàn)橛脩裘艽a從來(lái)沒(méi)有以哈希表的形式存儲(chǔ)在驅(qū)動(dòng)器上。使用哈希的網(wǎng)站通常具有以下工作流程:

1. 用戶創(chuàng)建一個(gè)帳戶

2. 他們的密碼被散列并存儲(chǔ)在數(shù)據(jù)庫(kù)中

3. 當(dāng)用戶嘗試登錄時(shí),將其輸入密碼的哈希值與數(shù)據(jù)庫(kù)中存儲(chǔ)的密碼進(jìn)行比較

4. 如果哈希匹配,則用戶可以訪問(wèn)該帳戶。

5. 如果不是,則會(huì)發(fā)回一般錯(cuò)誤消息,例如“輸入的無(wú)效憑據(jù)”,這樣黑客就無(wú)法將錯(cuò)誤具體跟蹤到用戶名或密碼。

hash("hello")=2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

hash("hellu")=3937f988aeb57b6fd75b9c71bf17b9658ec97823bab613df438389b0c896b724

hash("danny")=668e2b73ac556a2f051304702da290160b29bad3392ddcc72074fefbee80c55a

注意:僅安全或加密哈希函數(shù)可用于密碼哈希。

令人遺憾的是,僅對(duì)密碼進(jìn)行哈希加密并不能確保安全性。

  破解哈希:蠻力和字典攻擊

解密哈希的最簡(jiǎn)單方法是猜測(cè)密碼。這樣做的方法是猜測(cè)用戶密碼,對(duì)猜測(cè)值進(jìn)行哈希處理,然后將其與您要解決的實(shí)際密碼的哈希值進(jìn)行比較。如果兩個(gè)哈希值匹配,則未加密的猜測(cè)版本就是正確的密碼。

一個(gè)蠻力攻擊經(jīng)歷給予一定的字符長(zhǎng)度的每一個(gè)可能的組合。即使他們最終會(huì)100%破解任何給定的密碼,但由于此方法的計(jì)算量很大,因此很難使用該方法。使用蠻力破解某些長(zhǎng)度甚至很短的密碼可能要花費(fèi)數(shù)千年的時(shí)間。

Tryingaaa:failed

Tryingaab:failed

Tryingaac:failed

...

Tryingacb:failed

Tryingacc:success

字典攻擊使用的文件包含可能是已使用密碼的常用單詞,短語(yǔ)或密碼。還有,你可以找到數(shù)據(jù)庫(kù)是按住頂部100000最常用的密碼。攻擊會(huì)對(duì)這些密碼進(jìn)行哈希處理,然后將哈希值與密碼進(jìn)行比較以破解。對(duì)于破解普通的JoeShmo來(lái)說(shuō),這有時(shí)是一個(gè)很好的使用方法,并且肯定比使用蠻力攻擊要快。

查找表可以通過(guò)預(yù)先計(jì)算哈希值來(lái)提高破解性能,因此,當(dāng)需要猜測(cè)密碼時(shí),程序無(wú)需花費(fèi)計(jì)算時(shí)間實(shí)際對(duì)猜測(cè)值進(jìn)行哈希處理。

在下一節(jié)中,我們將研究“鹽化”,這使這些破解方法無(wú)法可靠地使用。

查找表,字典攻擊和暴力攻擊之所以可以起作用的原因是,每次密碼都以相同的方式散列。我們可以通過(guò)在哈希之前或之后在密碼前添加一個(gè)稱為salt的隨機(jī)字符串來(lái)使哈希隨機(jī)化。

hash("hello")=2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

hash("hello"+"jHjdbJShdiodb")=6f7f167a978166ee23b32c9531ce5dc23ae8fc26e412045858d938d11470831f

鹽不必是秘密的,因?yàn)楣粽卟恢利}將是什么,因此無(wú)法為其創(chuàng)建預(yù)先計(jì)算的表。

  注意事項(xiàng)

·對(duì)每個(gè)哈希密碼重復(fù)使用相同的鹽

·使用短鹽

·使用奇怪的雙哈希值(例如:hash(hash(hash(‘mypass’))))在鹽里

·使用加密安全的偽隨機(jī)數(shù)生成器生成隨機(jī)鹽

·為散列的每個(gè)密碼生成一個(gè)新的隨機(jī)唯一鹽

·產(chǎn)生長(zhǎng)鹽

鹽化工作流程

  存儲(chǔ)密碼:

·用CSPRNG生成超長(zhǎng)鹽

·將鹽添加到用戶密碼中并進(jìn)行哈希處理

·將鹽和哈希值保存在數(shù)據(jù)庫(kù)中

  檢查密碼:

·從數(shù)據(jù)庫(kù)中獲取鹽和哈希

·將鹽添加到提交的密碼之前并對(duì)其進(jìn)行哈希處理

·比較散列。如果它們相等,則密碼正確

注意:務(wù)必總是總是哈希在服務(wù)器上。有時(shí)未啟用JavaScript,并且哈希在客戶端不起作用。另外,沒(méi)有其他人可以訪問(wèn)服務(wù)器,因此請(qǐng)確保對(duì)服務(wù)器進(jìn)行哈希處理。

上述就是關(guān)于密碼哈希指南:如何確保數(shù)據(jù)庫(kù)安全的全部?jī)?nèi)容,想了解更多關(guān)于數(shù)據(jù)庫(kù)安全的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。

主站蜘蛛池模板: 唐山市| 建德市| 砚山县| 博爱县| 象州县| 泰和县| 涿州市| 同仁县| 喜德县| 临泽县| 宣城市| 大安市| 高唐县| 碌曲县| 丹棱县| 岳西县| 马公市| 桂林市| 九龙城区| 柘荣县| 宾川县| 新河县| 德庆县| 山阴县| 岚皋县| 噶尔县| 壶关县| 民县| 唐河县| 永春县| 三河市| 博罗县| 疏勒县| 奎屯市| 闸北区| 元江| 邳州市| 德令哈市| 云浮市| 栾城县| 阿城市|