摘要:非對稱加密非對稱加密算法需要兩個密鑰來進行加密和解密,這兩個秘鑰是公開密鑰,簡稱公鑰和私有密鑰,簡稱私鑰。請查看歷史文章使用非對稱加密算法密鑰安全管理上面說到的這幾種加密技術,能夠達到安全保密效果的一種重要前提就是密鑰的安全。
單向散列加密
單向散列加密就是把任意長的輸入消息串變化成固定長的輸出串且由輸出串難以得到輸入串的一種加密算法。
常見單向散列函數:
MD5 (Message Digest Algorithm 5)
SHA (Secure Hash Algorithm)
MAC (Message Authentication Code)
CRC (Cyclic Redundancy Check)
利用單項散列加密的這個特性,可以進行密碼加密保存。
PHP 處理密碼的幾種方式
MD5(不推薦)
$password = md5($_POST["password"]);
原因:加密算法比較簡單,而且很多破解密碼的站點都存放了大量的經過MD5加密的密碼字符串。
SHA256 和 SHA512(不推薦)
$password = hash("sha256", $password);
原因:加密算法比較簡單。
鹽值(額外字符串)(常用)
解釋:在加密的過程中,新增了一個字符串。
Bcrypt (比較安全)
$strSalt = "2f9c8d7h6g7f8d9k"; $salt = "$2y$11$" . $strSalt; echo crypt($password, $salt);解釋:salt 參數是可選的。然而,如果沒有salt的話,crypt()創建出來的會是弱密碼。
PHP函數:http://php.net/manual/zh/func...
password_hash (安全)
//支持版本 (PHP 5 >= 5.5.0, PHP 7) echo password_hash($password, PASSWORD_DEFAULT);解釋:password_hash() 使用足夠強度的單向散列算法創建密碼的哈希(hash)。
PHP函數:http://php.net/manual/zh/func...
PHP端驗證密碼是否正確?
$password = "e4r3t2y1u"; $strPwdHash = password_hash($password, PASSWORD_DEFAULT); if (password_verify($password, $strPwdHash)) { //驗證成功 } else { //驗證失敗 }對稱加密
采用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。
優點:對稱加密算法的優點是算法公開、計算量小、加密速度快、加密效率高。
缺點:在數據傳送前,發送方和接收方必須商定好秘鑰,雙方必須保存好秘鑰。
常用算法:
DES
AES
PHP 相關類庫,網上都能找到。
非對稱加密
非對稱加密算法需要兩個密鑰來進行加密和解密,這兩個秘鑰是公開密鑰(public key,簡稱公鑰)和私有密鑰(private key,簡稱私鑰)。
請查看歷史文章:PHP 使用非對稱加密算法 (RSA)
密鑰安全管理
上面說到的這幾種加密技術,能夠達到安全保密效果的一種重要前提就是密鑰的安全。
在實際工作中,我們有開發環境,預發布環境,正式環境,每個環境中的密鑰都不相同。
那么,我們應該如何保存密鑰呢?
寫在源碼中(不可取)。
寫在配置文件中。(大部分這樣干)。
寫在環境變量中。(大部分這樣干)。
保存在一個系統中,每次加密、解密都調取服務系統(系統開銷大)。
自己寫一個擴展,用PHP調取自己的擴展(維護成本高)。
暫時就想到這么多,望大神提供新的思路~
Thanks ~
AD:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30507.html
摘要:解決方案部署在云端服務器和存儲間,以確保服務器和存儲間的每字節數據都被加密了,并且從存儲移動到服務器的每字節數據都只能通過客戶來解密。公司稱,這具有軍用級安全性,因為只有一方即客戶持有主密鑰來解密數據。 靜態數據一直是通過被稱為公鑰基礎設施(PKI)的技術來保護:當數據被創建時,就會使用公鑰對數據進行加密,并且從理論上講,只有持有私鑰的授權人才能夠解密數據。當將這種數據保護辦法擴展到云環境...
摘要:王蒙沒那么淺地談談與二四加密算法和密鑰管理介紹密鑰交換機制之前先普及一些加密算法基本知識以及為什么要有密鑰管理機制。證書證書,顧名思義,就是頒發的證書。公鑰基礎設施公鑰基礎設施,簡稱是目前網絡安全建設的基礎與核心。**玫瑰與荊棘共生,香菇與毒菇同長,真實與假冒比翼騰飛。——王蒙**沒那么淺地談談HTTP與HTTPS【二】四、加密算法和密鑰管理介紹密鑰交換機制之前先普及一些加密算法基本知識以及...
摘要:首發地址識別認證與安全第三部分的章提供了一系列的技術和機器,可用來跟蹤身份,進行安全性檢測,控制對內容的訪問。安全使用基本認證的唯一方式就是將其與配合使用。加密之前的原始報文通常被稱為明文或。 WilsonLius blog 首發地址 識別,認證與安全 第三部分的4章提供了一系列的技術和機器,可用來跟蹤身份,進行安全性檢測,控制對內容的訪問。 客戶端識別與cookie機制 第十一章 H...
閱讀 3407·2021-11-25 09:43
閱讀 2294·2021-09-06 15:02
閱讀 3538·2021-08-18 10:21
閱讀 3341·2019-08-30 15:55
閱讀 2344·2019-08-29 17:06
閱讀 3534·2019-08-29 16:59
閱讀 962·2019-08-29 13:47
閱讀 2756·2019-08-26 13:24