2個比較經典的PHP加密解密函式分享

2021-09-07 09:12:50 字數 1664 閱讀 4807

這篇文章主要介紹了2個比較經典的php加密解密函式分享,乙個是discuz!的authcode加密函式(帶詳細分解),乙個是encrypt()函式,都比較經典,需要的朋友可以參考下

專案中有時我們需要使用php將特定的資訊進行加密,也就是通過加密演算法生成乙個加密字串,這個加密後的字串可以通過解密演算法進行解密,便於程式對解密後的資訊進行處理。

最常見的應用在使用者登入以及一些api資料交換的場景。

筆者收錄了一些比較經典的php加密解密函式**,分享給大家。加密解密原理一般都是通過一定的加密解密演算法,將金鑰加入到演算法中,最終得到加密解密結果。

1、非常給力的authcode加密函式,discuz!經典**(帶詳解):

function authcode($string, $operation = 'decode', $key = '', $expiry = 0)    

//用固定的演算法,打亂密匙簿,增加隨機性,好像很複雜,實際上對並不會增加密文的強度

for($j = $i = 0; $i

< 256; $i++)

//核心加解密部分

for($a = $j = $i = 0; $i

< $string_length; $i++)

if($operation == 'decode')

else

} else

}

函式authcode($string, $operation, $key, $expiry)中的$string:字串,明文或密文;$operation:decode表示解密,其它表示加密;$key:密匙;$expiry:密文有效期。

用法:

$str = 'abcdef'; 

$key = 'www.helloweba.com';

echo authcode($str,'encode',$key,0); //

加密 $str = '56f4yer1di2wtzwmqsfpps9hwyojnfp2mpc8sohrrxo7bok';

echo authcode($str,'decode',$key,0); //

解密

2、加解密函式encrypt():

function encrypt($string,$operation,$key='') 

for($j=$i=0;$i

<256;$i++)

for($a=$j=$i=0;$i

<$string_length;$i++)

if($operation=='d')

else

}else

}

函式encrypt($string,$operation,$key)中$string:需要加密解密的字串;$operation:判斷是加密還是解密,e表示加密,d表示解密;$key:密匙。

用法:

$str = 'abc'; 

$key = 'www.helloweba.com';

$token = encrypt($str, 'e', $key

); echo '加密:'.encrypt($str, 'e', $key

); echo '解密:'.encrypt($str, 'd', $key);

2個比較經典的PHP加密解密函式分享

這篇文章主要介紹了2個比較經典的php加密解密函式分享,乙個是discuz 的authcode加密函式 帶詳細分解 乙個是encrypt 函式,都比較經典,需要的朋友可以參考下 專案中有時我們需要使用php將特定的資訊進行加密,也就是通過加密演算法生成乙個加密字串,這個加密後的字串可以通過解密演算法...

php經典加密解密函式

為什麼80 的碼農都做不了架構師?user 飛天 date 2017 10 21 0021 time 13 55 param string param string operation param string key param int expiry return bool string 用法 s...

PHP加密解密函式

關於discuz的加密解密函式,相信大家都有所了解,該authcode函式可以說是對php界作出了重大的貢獻,真的發覺discuz這個函式寫的太精彩啦。研究了一下這個演算法,總的來說可以歸納為以下三點 1,動態性,同一字串使用相同的key,每次加密的密文都不一樣,而解密方法只有乙個,其實就是把解密的...