久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日焦點 焦點資訊 營銷之道 企業(yè)報道 淘寶運營 網(wǎng)站建設(shè) 軟件開發(fā) 400電話
  當(dāng)前位置: 首頁 » 資訊 » 軟件開發(fā) » 正文

PHP密碼加密機制Bcrypt詳解

放大字體  縮小字體 發(fā)布日期:2018-02-17  來源:企業(yè)800網(wǎng)  作者:新格網(wǎng)  瀏覽次數(shù):435  【去百度看看】
核心提示:我們常常為了避免在服務(wù)器受到攻擊,數(shù)據(jù)庫被拖庫時,用戶的明文密碼不被泄露,一般會對密碼進行單向不可逆加密——哈希。本文主要給大家介紹了關(guān)于PHP更安全的密碼加密機制Bcrypt的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。希望能幫助到大家。
我們常常為了避免在服務(wù)器受到攻擊,數(shù)據(jù)庫被拖庫時,用戶的明文密碼不被泄露,一般會對密碼進行單向不可逆加密——哈希。本文主要給大家介紹了關(guān)于PHP更安全的密碼加密機制Bcrypt的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。希望能幫助到大家。

常見的方式是:

哈希方式加密密碼md5(‘123456')e10adc3949ba59abbe56e057f20f883emd5(‘123456' . ($salt = ‘salt'))207acd61a3c1bd506d7e9a4535359f8asha1(‘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));

password_hash 生成的哈希長度是 PASSWORD_BCRYPT —— 60位,PASSWORD_DEFAULT —— 60位 ~ 255位。PASSWORD_DEFAULT 取值跟 php 版本有關(guān)系,會等于其他值,但不影響使用。

每一次 password_hash 運行結(jié)果都不一樣,因此需要使用 password_verify 函數(shù)進行驗證。

$password = '123456';
 
$hash = password_hash($password, PASSWORD_DEFAULT);
var_dump(password_verify($password, $hash));

password_hash 會把計算 hash 的所有參數(shù)都存儲在 hash 結(jié)果中,可以使用 password_get_info 獲取相關(guān)信息。

$password = '123456';
$hash = password_hash($password, PASSWORD_DEFAULT);
var_dump(password_get_info($hash));

輸出

array(3) {
 ["algo"]=>
 int(1)
 ["algoName"]=>
 string(6) "bcrypt"
 ["options"]=>
 array(1) {
 ["cost"]=>
 int(10)
 }
}

注意:不包含 salt

可以看出我當(dāng)前版本的 PHP 使用 PASSWORD_DEFAULT 實際是使用 PASSWORD_BCRYPT。

password_hash($password, $algo, $options) 的第三個參數(shù) $options 支持設(shè)置至少 22 位的 salt。但仍然強烈推薦使用 PHP 默認生成的 salt,不要主動設(shè)置 salt。

當(dāng)要更新加密算法和加密選項時,可以通過 password_needs_rehash 判斷是否需要重新加密,下面的代碼是一段官方示例

$options = array('cost' => 11);
// Verify stored hash against plain-text password
if (password_verify($password, $hash))
{
 // Check if a newer hashing algorithm is available
 // or the cost has changed
 if (password_needs_rehash($hash, PASSWORD_DEFAULT, $options))
 {
  // If so, create a new hash, and replace the old one
  $newHash = password_hash($password, PASSWORD_DEFAULT, $options);
 }
 // Log user in
}

password_needs_rehash 可以理解為比較 $algo + $option 和 password_get_info($hash) 返回值。

password_hash 運算慢

password_hash 是出了名的運行慢,也就意味著在相同時間內(nèi),密碼重試次數(shù)少,泄露風(fēng)險降低。

$password = '123456';
var_dump(microtime(true));
var_dump(password_hash($password, PASSWORD_DEFAULT));
var_dump(microtime(true));
 
echo "\n";
 
var_dump(microtime(true));
var_dump(md5($password));
for ($i = 0; $i < 999; $i++)
{
 md5($password);
}
var_dump(microtime(true));

輸出

float(1495594920.7034)
string(60) "$2y$10$9ZLvgzqmiZPEkYiIUchT6eUJqebekOAjFQO8/jW/Q6DMrmWNn0PDm"
float(1495594920.7818)

float(1495594920.7818)
string(32) "e10adc3949ba59abbe56e057f20f883e"
float(1495594920.7823)

password_hash 運行一次耗時 784 毫秒, md5 運行 1000 次耗時 5 毫秒。這是一個非常粗略的比較,跟運行機器有關(guān),但也可以看出 password_hash 運行確實非常慢。

相關(guān)推薦:

AES/RSA加密機制

jQuery加密cookie的實現(xiàn)方法

PHP如何更好的對密碼進行加密處理

以上就是PHP密碼加密機制Bcrypt詳解的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

 
關(guān)鍵詞: Bcrypt,php,詳解
長春  短信群發(fā)  吉林省  紅視窗  中國  長春市  玉米  長春網(wǎng)站建設(shè)  網(wǎng)站  振華  設(shè)備  設(shè)計  吉林  廣州  撲克  長春上門維修電腦  敘利亞  內(nèi)蒙古  聯(lián)合聲明  消費者權(quán)益  突擊步槍  新聞中心  化學(xué)武器  中非合作論壇  中國政府  滿洲里  美國白宮  記者會  塞內(nèi)加爾  中消協(xié)  強臺風(fēng)  中國電影  消費者  海外網(wǎng)  長春北大青鳥  中國智能建筑節(jié)  重慶市  敘政府  網(wǎng)站建設(shè)  北京市  國家元首  長春上門修電腦  產(chǎn)業(yè)園  北斗導(dǎo)航  中國芯  龍頭企業(yè)  黨委書記  長春上門做系統(tǒng)  長春電腦上門維修  塞申斯  侯建國,質(zhì)量,中國特色社會主義  售前咨詢技巧  俄羅斯  發(fā)言人  特朗普,貿(mào)易戰(zhàn),美國  運載火箭  中國軍網(wǎng)  今日頭條  美國人  特朗普  長春國貿(mào)  位置服務(wù)  英國皇家海軍  一帶一路  中國移動  人民政府  檢察官  中國市場  發(fā)布會  美國海軍陸戰(zhàn)隊  小學(xué)生  撫養(yǎng)費  指示  圓桌  觀察者網(wǎng)  白宮  彈道導(dǎo)彈  小雨  郭曉東  美國  亞馬遜  臺風(fēng)  參議院  尼克松  日本  國家安全  化武  步槍  大阪  毒品  動物世界  廣東省  劉強東  美國陸軍  中國空軍  非洲  劉雨欣  美國總統(tǒng)  結(jié)婚紀念日  越野車 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規(guī)舉報 ]  [ 關(guān)閉窗口 ]

 
0條 [查看全部]  相關(guān)評論

 
網(wǎng)站首頁 | 關(guān)于我們 | 聯(lián)系方式 | 使用協(xié)議 | 版權(quán)隱私 | 網(wǎng)站地圖 | 排名推廣 | 廣告服務(wù) | 積分換禮 | 網(wǎng)站留言 | RSS訂閱 | 皖I(lǐng)CP備2021004516號-14
企業(yè)800網(wǎng) · 提供技術(shù)支持