相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
PHP更安全的密碼加密機制Bcrypt詳解
前言
我們常常為了避免在服務器受到攻擊,數(shù)據(jù)庫被拖庫時,用戶的明文密碼不被泄露,一般會對密碼進行單向不可逆加密——哈希。
常見的方式是:
哈希方式 | 加密密碼 |
md5(‘123456') | e10adc3949ba59abbe56e057f20f883e |
md5(‘123456' . ($salt = ‘salt')) | 207acd61a3c1bd506d7e9a4535359f8a |
sha1(‘123456') | 40位密文 |
hash(‘sha256', ‘123456') | 64位密文 |
hash(‘sha512', ‘123456') | 128位密文 |
密文越長,在相同機器上,進行撞庫消耗的時間越長,相對越安全。
比較常見的哈希方式是 md5 + 鹽,避免用戶設(shè)置簡單密碼,被輕松破解。
password_hash
但是,現(xiàn)在要推薦的是 password_hash()
函數(shù),可以輕松對密碼實現(xiàn)加鹽加密,而且?guī)缀醪荒芷平狻?/p>
$password = '123456'; var_dump(password_hash($password, PASSWORD_DEFAULT)); var_dump(password_hash($password, PASSWORD_DEFAULT));