隨著網(wǎng)絡的迅速發(fā)展,越來越多的敏感信息需要傳輸,如:支付密碼、個人信息等。這些敏感信息泄露給黑客勢必會造成無法挽回的損失。為避免這種情況的發(fā)生,我們需要將這些信息加密后再傳輸。
JavaScript是前端開發(fā)中應用最廣泛的腳本語言之一,加密傳輸?shù)倪壿嬏幚硗ǔT谇岸耸褂肑avaScript完成。
前端加密的例子:
function encrypt(str){ var s = ""; for(var i=0;i再看PHP語言,這種語言主要運行在服務器上,是后端開發(fā)中的重要語言之一。后端的加密通常是利用PHP擴展庫中的函數(shù),如hash函數(shù)或openssl函數(shù)進行加密。
后端加密的例子:
$password = "Hello World!"; $hash = password_hash($password, PASSWORD_DEFAULT); echo $hash; //輸出 "$2y$10$JmR3RkdJSktvRiFXTmFYM......JzhlE1"在密碼認證應用中,我們希望驗證用戶輸入的密碼是否正確,此時就需要使用到驗證函數(shù)password_verify。它可以驗證明文與加密后的文本是否一致,以此判斷密碼是否正確。
后端密碼驗證的例子:
$password = "Hello World!"; $hash = "$2y$10$JmR3RkdJSktvRiFXTmFYM......JzhlE1"; if(password_verify($password, $hash)){ echo "驗證通過!"; } else { echo "驗證失敗!"; }可以看到,前端和后端都各有其特點,在實際開發(fā)中,一般會將前端加密和后端加密配合使用,以達到更高的安全性。