国产探花免费观看_亚洲丰满少妇自慰呻吟_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));

}

}

?>

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信阳市| 丹凤县| 宽甸| 磐安县| 湖口县| 永胜县| 如东县| 武清区| 武穴市| 巩留县| 余姚市| 乃东县| 凌源市| 长宁区| 辰溪县| 乐平市| 九寨沟县| 万年县| 延川县| 探索| 石门县| 建昌县| 进贤县| 西和县| 晋城| 台北市| 宿松县| 苍溪县| 穆棱市| 颍上县| 泰安市| 通辽市| 卢龙县| 秀山| 宁河县| 宝应县| 彭阳县| 哈密市| 宜宾市| 诏安县| 裕民县|