PHP加密技術

2021-08-18 16:08:45 字數 1928 閱讀 3756

加密技術簡介:對明文資料資訊通過不同的演算法進行加密處理,形成一種新的密文(亂碼形式),通過輸入秘鑰進行資料解析

加密演算法分類:

1. 單向雜湊加密:

指通過對不同輸入長度的資訊進行雜湊計算,得到固定長度的輸出,這個雜湊計算過程是單向的,即不能對固定長度的輸出進行計算獲得輸入資訊,salt又稱為鹽值

在單向加密中使用的主要演算法有:md5、sha1、crypt等。

2. 對稱加密演算法:

對稱加密演算法是指加密和解密使用同乙個秘鑰或者可以互相推算

優點:開銷小,適用於大量同一型別資料的加密

缺點:加密解密秘鑰相同,一旦秘鑰被盜,存在安全隱患

對稱加密的常用演算法有: des演算法,3des演算法,tdea演算法,blowfish演算法,rc5演算法,idea演算法,php中包含:urlencode()/urldecode(),base64_encode()/base64_decode()

3. 非對稱加密技術:

非對稱加密和解密使用的秘鑰不相同,其中乙個對外公開,稱之為公鑰,另乙個不對外公開,只有開發者知道。

舉例:乙方生成一對金鑰(公鑰和私鑰)並將公鑰向其它方公開。

得到該公鑰的甲方使用該金鑰對機密資訊進行加密後再傳送給乙方。

乙方再用自己儲存的另一把專用金鑰(私鑰)對加密後的資訊進行解密。乙方只能用其專用金鑰(私鑰)解密由對應的公鑰加密後的資訊。

在非對稱加密中使用的主要演算法有:rsa、elgamal、揹包演算法、rabin、d-h、ecc(橢圓曲線加密演算法)等。

php中常用加密演算法:

1.md5加密技術:常用加密演算法,以雜湊值形式進行加密,單向加密函式,不可逆過程,通常用於大型**的註冊密碼

用法:md5("變數",$raw_output),預設以32位字元16進製制形式返回雜湊值,若第二引數設為true,則返回16位元組的原始二進位制格式資料

2.base64加密技術:常用加密演算法,base64_endoce()/base64_decode(),將二進位制資料轉化為ascal碼字元

用法:base64_encode($str);base64_decode($str,bool)

3.url編碼加密技術:  urlencode()/urldecode();rawurlencode()/rawurldecode()

(1) urlencode()/urldecode()

用法:urlencode('編碼字串');urldecode('解碼字串');

注意:字串中除了 -_.之外所有非字母數字字元都將被替換為%加兩位十六進製制數,空格被編碼為+

//常見符號編碼結果:

? -> %3f;= -> %3d; -> +;% -> %25;& -> %26;\ -> %5c;+ -> %2b;

(2) rawurlencode()/rawurldecode()

用法:rawurlencode("編碼字串");rawurldecode("解碼字串");

與urlencode()/urldoecde()區別:將空格變為%20,不再是+

4.crypt加密技術(不常用):基於md5/des演算法加密,單向加密函式,不可逆過程,返回雜湊字串

用法:crypt('變數名','加密干擾串'); //沒有寫干擾串的前提下,每次重新整理自動生成

例:(1)基於des演算法加密:crypt('變數名',『im』);

(2)基於md5演算法加密:crypt('變數名',『$1$******xx$』)

5.sha1加密技術:單向加密函式,不可逆過程,返回雜湊值,與md5加密方式略有不同,預設返回40位長度加密字串,設定引數為true返回20位的16進製制數字

用法:sha1("變數",$raw_output)

php加密技術

1.效果展示 php中常用的加密函式 1.md5加密 string md5 string str bool raw output false 1 md5 預設情況下以 32 字元十六進製制數字形式返回雜湊值,它接受兩個引數,第乙個為要加密的字串,第二個為raw output的布林值,預設為false...

PHP加密技術

前幾天學習了php加密的一些知識,現在總結一下 php中幾種加密形式 md5 加密演算法 crypt 加密演算法 sha1 加密演算法 url編碼加密技術 base64編碼加密技術 md5 加密演算法 語法 string md5 string str bool raw output false st...

PHP加密技術

關於php的一些常用的快取技術 1.md5 2.crypt 3.sha1 4.url編碼加密技術 5.base64資訊編碼加密技術 首先我們先從最基礎的md5 加密技術開始講解 md5 加密技術,是一種單向加密技術,下面來看一下md5的語法 string md5 string str bool ra...