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

2021-09-20 22:07:46 字數 2323 閱讀 4654

傳統加密方式:

md5(密碼+鹽值);

12

3

4

5

$passwordstring='your password';//你的密碼

$salt="your salt value";//鹽值,增加複雜度(隨機字串)

$md5password=md5($passwordstring.$salt);

從理論上來說,md5不可逆,算是一種比較安全的加密方式。但是我要提醒的是,md5早在04年的時候就被中國人破解(請自行搜尋山東大學王小雲)。一旦被人拖庫的化,密碼洩漏的可能性極大。

php5.5引入了password hashing函式,核心自帶無需安裝擴充套件。在php5.4下測試了下也可是可以的,使用前最好確認一下你當前的環境是否支援這些函式。

password hashing主要提供了4個函式

1

2

3

4

5

6

7

8

9

10

11

//檢視雜湊值的相關資訊

arraypassword_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)

//驗證密碼

**演示:

1

2

3

4

5

6

7

8

9

10

$password='password123456';//原始密碼

//使用bcrypt演算法加密密碼

$hash_password= password_hash($password, password_bcrypt);

if(password_verify($password,$hash_password))else

重要特徵:

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

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

php 變數的md5加密,PHP中的MD5加密

php中的md5加密 2005 02 17 enet ciweek 綜述 密碼學是研究編制密碼 我們簡稱為加密 encode 和破譯密碼 我們稱之為解密 decode 的技術科學。研究密碼變化的客觀規律,應用於編制密碼以保守通訊秘密的,稱為編碼學 應用於破譯密碼以獲取通訊情報的,稱為破譯學,總稱密碼...

PHP中的MD5加密

綜述 密碼學是研究編制密碼 我們簡稱為加密 encode 和破譯密碼 我們稱之為解密 decode 的技術科學。研究密碼變化的客觀規律,應用於編制密碼以保守通訊秘密的,稱為編碼學 應用於破譯密碼以獲取通訊情報的,稱為破譯學,總稱密碼學。通常情況下,人們將可懂的文字稱為明文 將明文變換成的不可懂的文字...

Shiro密碼的MD5加密 MD5鹽值加密

用md5加密演算法後,前台使用者輸入的字串如何使用md5加密,需要做的是將當前的realm 的credentialsmatcher屬性,替換為md5credentialsmatcher 由於md5credentialsmatcher已經過期了,推薦使用hashedcredentialsmatcher...