真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php的加密技術(shù)有哪些

本文小編為大家詳細(xì)介紹“php的加密技術(shù)有哪些”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“php的加密技術(shù)有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的墨江網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

單向散列加密就是把任意長(zhǎng)的輸入消息串變化成固定長(zhǎng)的輸出串且由輸出串難以得到輸入串的一種加密算法。

常見單向散列函數(shù):

  • MD5 (Message Digest Algorithm 5)

  • SHA (Secure Hash Algorithm)

  • MAC (Message Authentication Code)

  • CRC (Cyclic Redundancy Check)

利用單項(xiàng)散列加密的這個(gè)特性,可以進(jìn)行密碼加密保存。

PHP 處理密碼的幾種方式

  • MD5(不推薦)

$password = md5($_POST["password"]);

原因:加密算法比較簡(jiǎn)單,而且很多破解密碼的站點(diǎn)都存放了大量的經(jīng)過MD5加密的密碼字符串。

  • SHA256 和 SHA512(不推薦)

$password = hash("sha256", $password);

原因:加密算法比較簡(jiǎn)單。

  • 鹽值(額外字符串)(常用)

解釋:在加密的過程中,新增了一個(gè)字符串。

  • Bcrypt (比較安全)

$strSalt = '2f9c8d7h7g7f8d9k';
$salt = '$2y$11$' . $strSalt;
echo crypt($password, $salt);

解釋:salt 參數(shù)是可選的。然而,如果沒有salt的話,crypt()創(chuàng)建出來的會(huì)是弱密碼。

  • password_hash (安全)

//支持版本 (PHP 5 >= 5.5.0, PHP 7)
echo password_hash($password, PASSWORD_DEFAULT);

解釋:password_hash() 使用足夠強(qiáng)度的單向散列算法創(chuàng)建密碼的哈希(hash)。

PHP函數(shù):http://php.net/manual/zh/function.password-hash.php

PHP端驗(yàn)證密碼是否正確?

$password = 'e4r3t2y1u';
$strPwdHash = password_hash($password, PASSWORD_DEFAULT);
if (password_verify($password, $strPwdHash)) {
    //驗(yàn)證成功
} else {
    //驗(yàn)證失敗
}

對(duì)稱加密

采用單鑰密碼系統(tǒng)的加密方法,同一個(gè)密鑰可以同時(shí)用作信息的加密和解密,這種加密方法稱為對(duì)稱加密,也稱為單密鑰加密。

優(yōu)點(diǎn):對(duì)稱加密算法的優(yōu)點(diǎn)是算法公開、計(jì)算量小、加密速度快、加密效率高。

缺點(diǎn):在數(shù)據(jù)傳送前,發(fā)送方和接收方必須商定好秘鑰,雙方必須保存好秘鑰。

常用算法:

  • DES

  • AES

PHP 相關(guān)類庫(kù),網(wǎng)上都能找到。

非對(duì)稱加密

非對(duì)稱加密算法需要兩個(gè)密鑰來進(jìn)行加密和解密,這兩個(gè)秘鑰是公開密鑰(public key,簡(jiǎn)稱公鑰)和私有密鑰(private key,簡(jiǎn)稱私鑰)。

請(qǐng)查看歷史文章:PHP 使用非對(duì)稱加密算法 (RSA)

密鑰安全管理

上面說到的這幾種加密技術(shù),能夠達(dá)到安全保密效果的一種重要前提就是密鑰的安全。

在實(shí)際工作中,我們有開發(fā)環(huán)境,預(yù)發(fā)布環(huán)境,正式環(huán)境,每個(gè)環(huán)境中的密鑰都不相同。

那么,我們應(yīng)該如何保存密鑰呢?

  • 寫在源碼中(不可?。?。

  • 寫在配置文件中。(大部分這樣干)。

  • 寫在環(huán)境變量中。(大部分這樣干)。

  • 保存在一個(gè)系統(tǒng)中,每次加密、解密都調(diào)取服務(wù)系統(tǒng)(系統(tǒng)開銷大)。

  • 自己寫一個(gè)擴(kuò)展,用PHP調(diào)取自己的擴(kuò)展(維護(hù)成本高)。

讀到這里,這篇“php的加密技術(shù)有哪些”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞名稱:php的加密技術(shù)有哪些
分享地址:http://weahome.cn/article/gdpiii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部