專案中有時我們需要使用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);
以上所述就是本文的全部內容了,希望大家能夠喜歡。
php字串常用演算法 字串加密解密
加密 解密字串 global string db hash global array pwserver param string 待處理字串 param action 操作,encode decode return string function strcode string,action enco...
php字串加解密
第一步 先建立乙個工具類 工具類,不涉及第三方php class utilclass 加密並用base64編碼顯示 public function encrypt base64 txt,key public function decrypt txt,key 獲取guid function guid ...
php 字串函式彙總
1 查詢字元位置函式 strpos str,search,int 查詢search在 str中的第一次位置從int開始 stripos str,search,int 函式返回字串在另乙個字串中第一次出現的位置。該函式對大小寫不敏感 strrpos str,search,int 查詢search在 s...