国产成人v爽在线免播放观看,日韩欧美色,久久99国产精品久久99软件,亚洲综合色网站,国产欧美日韩中文久久,色99在线,亚洲伦理一区二区

學(xué)習(xí)啦>學(xué)習(xí)電腦>網(wǎng)絡(luò)知識(shí)>網(wǎng)絡(luò)技術(shù)>

安全地存儲(chǔ)密碼的方法

時(shí)間: 恒輝636 分享

使用 bcrypt

用 bcrypt、用 bcrypt、用 bcrypt、用 bcrypt、用 bcrypt、用 bcrypt、用 bcrypt、用 bcrypt、用 bcrypt (重要的話就是要多多地重復(fù)幾次)……

為什么不用 {MD5、 SHA1、 SHA256、 SHA512、 SHA-3 等加密算法}?

這些都是通用的hash函數(shù),設(shè)計(jì)的初衷是為了盡可能快的計(jì)算大量數(shù)據(jù)的摘要。這意味著它們?cè)诒WC數(shù)據(jù)完整性方面非常優(yōu)秀但是對(duì)于存儲(chǔ)密碼則十分糟糕。

現(xiàn)代的服務(wù)器計(jì)算 MD5 的哈希值速度大概是每秒330MB。如果你的用戶密碼滿足小寫(xiě)、數(shù)字字母混合、6個(gè)字符長(zhǎng)這幾個(gè)條件,你就可以在40秒內(nèi)窮舉出該密碼。

完全不需要其他的投入。

如果你愿意花費(fèi)2000美元和一到兩周的時(shí)間來(lái)挑選一塊支持 CUDA 的顯卡,那你可以搭建一個(gè)小型的、每秒計(jì)算700,000,000個(gè)密碼的超級(jí)計(jì)算機(jī)集群。估計(jì)你可以以每秒10%的速度來(lái)解除那些密碼。

加鹽也救不了你

注意了,非常重要的一點(diǎn):hash加鹽對(duì)于字典攻擊和暴力解除無(wú)效。你可以用粗鹽,或許多的鹽,甚至是人工開(kāi)采,陰涼的,有機(jī)的喜馬拉雅粉晶鹽。但這都無(wú)法影響到攻擊者解除你密碼的速度。

加鹽與否,只要你用了為速度而設(shè)計(jì)的通用哈希函數(shù),你就會(huì)受到影響。

bcrypt 解決了這些問(wèn)題

怎么做呢?從根本上說(shuō),是因?yàn)樗?計(jì)算速度可以)慢到令人發(fā)指。它由 Blowfish 加密算法演變而來(lái),并引入了功系數(shù)(work factor),以便讓你能決定該哈希函數(shù)的計(jì)算強(qiáng)度?;谝陨显颍琤crypt 可以緊隨摩爾定律的腳步。計(jì)算機(jī)發(fā)展更快,你也可以增加功系數(shù)來(lái)讓哈希更難計(jì)算。

比起 MD5,bcrypt 的計(jì)算強(qiáng)度能達(dá)到多大呢?這就要看功系數(shù)了。把功系數(shù)設(shè)為12情況下,在我的電腦上用 bcrypt 哈希 yaaa 這個(gè)密碼大概要0.3秒。另一方面,用MD5 來(lái)處理要少于1微秒。

你的密碼可能不需要那么高的安全級(jí)別,而需要更快的運(yùn)算速度。幸好,bcrypt允許你在速度和安全之間進(jìn)行平衡。

168307