成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

安全存儲口令的業界標準:bcrypt算法

存儲 存儲軟件 算法
bcrypt 算法基于 Blowfish 塊密鑰算法,bcrypt 算法已經有10多年的歷史,而 Blowfish 密鑰算法更是有20多年的歷史,久經考驗,所以被認為是 Hash 加密口令的標準算法。

 談一談安全保護口令的的標準算法,這就是 bcrypt 算法。為了把事情說清楚,分兩篇文章描述:

  • 說說 bcrypt 算法,以及通過PHP的crypt()算法進一步參數闡述,雖然crypt()算法已經不推薦使用了,但對于理解 bcrypt 算法還是非常好的,可以看看它的歷史。
  • 在一個系統中,如果有多種開發語言,那么 bcrypt 算法是否通用呢?通過 PHP 和 Ptyhon 語言進行描述。

本文主要理解 bcrypt 算法,bcrypt 算法可以認為是 KDF 函數的一種實現,也有迭代因子的概念。

[[256502]]

bcrypt 算法基于 Blowfish 塊密鑰算法,bcrypt 算法已經有10多年的歷史,而 Blowfish 密鑰算法更是有20多年的歷史,久經考驗,所以被認為是 Hash 加密口令的標準算法。

bcrypt 算法在內部會使用內存初始化 hash 過程,由于需要內存,雖然在 CPU 上運行很快,但在 GPU 并行運算卻不快,這也減緩了攻擊者的破解速度。

接下去我使用 PHP 語言中的 crypt() 函數介紹如何使用 bcrypt 算法,如果你對 Hash 保護口令了解的不多,那么使用 crypt() 函數可能會存在很多問題。

首先必須明確 crypt() 函數并不是 bcrypt 算法,它可以基于多種不同的 Hash 算法。

該函數的原型:

  1. string crypt ( string $str [, string $salt ] ) 

看上去很簡單,但隱藏了很多內容。

如果你僅僅調用 crypt(),會根據操作系統版本和 PHP 版本使用相應的 Hash 算法,而且如果不顯示的輸入 salt,可能會得到一個弱 salt,所以不推薦這樣調用 crypt() 函數,因為屏蔽了很多細節。

那么如何選定 bcrypt 算法(Blowfish)、迭代因子、salt,先看一個例子:

  1. if (CRYPT_BLOWFISH == 1) { 
  2. echo 'Blowfish:' . crypt('abcde''$2a$07$woshiyigesaltzhi') . "\n"
  • 表示使用 bcrypt 算法(注意:如果是 PHP 5.3.7 后續版本,使用 ,修復了安全風險)。
  • 07 表示迭代次數為 7 次。
  • 最后一個 $ 后面內容為 salt 值。

接下去看看上面代碼的輸出:

  1. Blowfish:$2a$07$woshiyigesaltzhi$$$$$.lrU488y7E1Xw.JA4uizIu.PBSSe7t4y 

也就是說返回值包含了 crypt() 函數相關信息,比如告訴你使用了 bcrypt 算法,迭代因子是 7,salt 是 woshiyigesaltzhi$$$$$,剩下的部分就是口令密文。

此處,遺留一個問題,crypt() 運算出來的口令密文包含 salt 是否不安全?這會在下一篇中描述。

crypt() 也可以使用其它的 Hash 函數,比如:

  • CRYPT_MD5:
  • CRYPT_BLOWFISH: 或
  • CRYPT_SHA256:
  • CRYPT_SHA512:

大家大概明白 crpyt() 函數的使用了,可能使用的時候有點麻煩,所以建議包裝下該函數:

  1. function better_crypt($input, $rounds = 7) { 
  2.     $salt = openssl_random_pseudo_bytes(22); 
  3.     return crypt($input, sprintf('$2a$%02d$', $rounds) . $salt); 

不管怎么說,crypt() 函數完全基于底層的 C 函數,運行環境也依賴于操作系統和PHP版本,系統和代碼遷移的時候可能有多種問題,所以 PHP 從 5.5 版本以后建議使用Password Hashing Functions,這在下一篇會詳細說一下。

最后簡單提下 scrypt 算法,它是一種新的口令保護算法,是另外一種思路,被認為是口令保護的業界標準算法,但由于時間較短,現在建議還是使用 bcrypt() 算法。

 

責任編輯:武曉燕 來源: 虞大膽的嘰嘰喳喳
相關推薦

2010-06-13 09:41:20

HDS統一計算平臺

2018-12-25 09:26:28

2022-09-14 08:02:25

加密算法Bcryp

2015-04-28 16:29:33

2020-03-07 08:51:51

勒索軟件網絡攻擊網絡安全

2015-08-05 13:16:39

2018-05-17 11:04:18

2017-12-18 08:21:46

存儲業界動態

2011-08-25 09:28:11

云計算云計算標準

2010-04-27 09:16:49

2010-09-07 12:12:29

2021-06-29 10:30:49

口令安全黑名網絡安全

2016-09-01 21:25:01

Gartner亞馬遜云存儲

2010-01-14 14:57:00

可堆疊交換機標準

2018-05-09 16:07:33

Fusion云應用甲骨文

2018-01-22 15:29:38

第七屆中國云計算標準和

2011-03-21 16:21:49

Oracle監聽口令監聽器

2009-06-25 09:46:04

2009-12-22 16:18:04

路由器口令

2012-03-13 14:46:43

思科small cells
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲小视频 | 欧美888 | 99成人免费视频 | 久久大陆 | 欧美h版| 九九久久这里只有精品 | 黄色免费av| 日本精品在线一区 | 久久久久亚洲 | 久久人体视频 | 国产一区二区三区四区五区加勒比 | 亚洲电影中文字幕 | 国产成人福利 | 一区二区三区福利视频 | 中文字幕免费在线观看 | 欧美成人一区二区 | 久久国产一区 | 亚洲精品视频久久 | 精品久久久网站 | 国产精品日韩欧美 | 欧美一区二区三区国产精品 | 欧美一区二区在线播放 | 久久久久久网站 | 欧美一区二区网站 | 久久精品亚洲 | 亚洲精品美女视频 | 天天拍天天操 | 久久国产精品久久国产精品 | 99精品99| 久久精品小视频 | 亚洲在线中文字幕 | 伊色综合久久之综合久久 | 久久99久久久久 | 男女又爽又黄视频 | 91中文字幕| 色综合久| av中文在线 | 日韩国产欧美一区 | 不卡一区 | 国产 日韩 欧美 在线 | 三级成人在线 |