在現(xiàn)今的網(wǎng)絡(luò)環(huán)境中,安全問題更加重要,保證數(shù)據(jù)的加密保護(hù)是至關(guān)重要的,特別是在處理用戶敏感數(shù)據(jù)的時候。而使用PHP編寫的網(wǎng)絡(luò)應(yīng)用領(lǐng)域正逐漸增長,所以php提供了一個開源庫Sodium來對應(yīng)用中的數(shù)據(jù)進(jìn)行加密保護(hù)。那么本文將深入介紹如何使用Sodium庫。
首先需要下載Sodium的二進(jìn)制文件或?qū)⑵渥鳛閿U(kuò)展安裝。下載方式如下(若是使用centos系統(tǒng),yum源中已自帶):
//通過官網(wǎng)下載
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz
tar -xzvf libsodium-1.0.18.tar.gz
cd libsodium-1.0.18/
./configure && make -j2 && make install
Sodium庫提供了一些常用的加密方法,例如加密和解密,計(jì)算摘要以及學(xué)習(xí)分簇并防止DOS等等。下面我們就來看一下如何使用這些常用的方法。
加密方法。下面是簡單示例:
//創(chuàng)建密鑰和密文字符串。
$key = sodium_crypto_aead_aes256gcm_keygen();
$ciphertext = sodium_crypto_aead_aes256gcm_encrypt('secret message', $nonce, $key, $ad);
解密方法。下面是簡單示例:
//解開密文。
$plaintext = sodium_crypto_aead_aes256gcm_decrypt($ciphertext, $nonce, $key, $ad);
計(jì)算摘要。下面是簡單示例:
//計(jì)算256位sha3散列(返回值散列由64個十六進(jìn)制字符組成)。
$hash = sodium_crypto_generichash('secret message', $key, $digest_length = SODIUM_CRYPTO_GENERICHASH_BYTES_MAX);
$hex_hash = bin2hex($hash);
Sodium還提供了其他好用的方法,例如學(xué)習(xí)分簇并防止DOS等。Sodium的使用相對來說會較為簡便,相應(yīng)的文檔和教程也相對來說較為完善,使用它來加密保護(hù)你的數(shù)據(jù),可以更有效地保障用戶隱私。
上一篇css下拉框箭頭
下一篇php gradle