首頁 >後端開發 >php教程 >【雜湊密碼】PHP比md5更安全的加密方式

【雜湊密碼】PHP比md5更安全的加密方式

藏色散人
藏色散人轉載
2019-09-02 14:40:414755瀏覽

傳統加密方式:

md5(密碼 鹽值);

$passwordString='your password';//你的密码
$salt="your salt value";//盐值,增加复杂度(随机字串)
$md5Password=md5($passwordString.$salt);

從理論上來說,md5不可逆,算是比較安全的加密方式。但我要提醒的是,md5早在04年的時候就被中國人破解。一旦被人拖庫的化,密碼洩漏的可能性極大。

現在推薦一種新的處理方式:

密碼雜湊演算法函數

#password_get_info — 傳回指定哈希(hash)的相關資訊

password_hash — 建立密碼的雜湊(hash)

password_needs_rehash — Checks if the given hash matches the given options

password_verify — 驗證密碼是否和雜湊匹配

PHP5.5引入了Password Hashing函數,核心自帶無需安裝擴充功能。在PHP5.4下測試了下也可是可以的,使用前最好確認一下你目前的環境是否支援這些函數。

Password Hashing主要提供了4個函數

//查看哈希值的相关信息
array password_get_info (string $hash)
 
//创建hash密码
string password_hash(string $password , integer $algo [, array $options ])
 
//判断hash密码是否特定选项、算法所创建
boolean password_needs_rehash (string $hash , integer $algo [, array $options ] 
 
boolean password_verify (string $password , string $hash)
//验证密码

程式碼示範:

$password = 'password123456';//原始密码
//使用BCRYPT算法加密密码
$hash_password = password_hash($password, PASSWORD_BCRYPT);
 
 
if (password_verify($password , $hash_password)){
   echo "密码匹配";
}else{
   echo "密码错误";
}

重要特徵:

透過password_hash加密後的密碼,使用字典方式很難破解,因為每次產生的密碼都是不一樣的。破解這種加密只能採用暴力破解。

最後提醒:

加密方法再好,原始密碼設定的過於簡單都容易被破解,設定複雜的密碼才是王道。

以上是【雜湊密碼】PHP比md5更安全的加密方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除