国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

分享一個好用的函數PHP對字符串加密解密的函數

2024-04-25 20:36:15
字體:
來源:轉載
供稿:網友

加密解密在一個系統中的應用是非常常見的需求,PHP做的網站中,也會經常用到一些加密解密的時候。下面介紹一個比較好用的加密解密函數,收藏下,以后會用得到。

<?php

$id = 132;

$token = encrypt($id, 'E', 'nowamagic');

echo '加密:'.encrypt($id, 'E', 'nowamagic');

echo '<br />';

echo '解密:'.encrypt($token, 'D', 'nowamagic');

/*********************************************************************

函數名稱:encrypt

函數作用:加密解密字符串

使用方法:

加密 :encrypt('str','E','nowamagic');

解密 :encrypt('被加密過的字符串','D','nowamagic');

參數說明:

$string :需要加密解密的字符串

$operation:判斷是加密還是解密:E:加密 D:解密

$key :加密的鑰匙(密匙);
*********************************************************************/

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

{

$key=md5($key);

$key_length=strlen($key);

$string=$operation=='D'?base64_decode($string):substr(md5($string.$key),0,8).$string;

$string_length=strlen($string);

$rndkey=$box=array();

$result='';

for($i=0;$i<=255;$i++)

{

$rndkey[$i]=ord($key[$i%$key_length]);

$box[$i]=$i;

}

for($j=$i=0;$i<256;$i++)

{

$j=($j+$box[$i]+$rndkey[$i])%256;

$tmp=$box[$i];

$box[$i]=$box[$j];

$box[$j]=$tmp;

}

for($a=$j=$i=0;$i<$string_length;$i++)

{

$a=($a+1)%256;

$j=($j+$box[$a])%256;

$tmp=$box[$a];

$box[$a]=$box[$j];

$box[$j]=$tmp;
$result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256]));

}

if($operation=='D')

{
if(substr($result,0,8)==substr(md5(substr($result,8).$key),0,8))

{

return substr($result,8);

}

else

{

return'';

}

}

else

{

return str_replace('=','',base64_encode($result));

}

}

?>

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁蒗| 万山特区| 金秀| 商南县| 綦江县| 方正县| 梅州市| 乌审旗| 凤阳县| 三都| 忻州市| 襄垣县| 星座| 盐池县| 桐梓县| 徐闻县| 邹平县| 东丰县| 措美县| 如东县| 全州县| 合作市| 光山县| 阿合奇县| 新巴尔虎右旗| 荣成市| 宜川县| 高雄市| 竹北市| 清涧县| 孝昌县| 楚雄市| 华蓥市| 安阳县| 泰和县| 泸西县| 南丹县| 策勒县| 彰化市| 安溪县| 云龙县|