//可逆加密
/*
*$data :需要加密解密的字符串
*$key :加密的鑰匙(密匙);
*/
//加密
function encrypt($data, $key)
{
$key = md5($key);
$x = 0;
$len = strlen($data);
$l = strlen($key);
for ($i = 0; $i < $len; $i++)
{
if ($x == $l)
{
$x = 0;
}
$char .= $key{$x};
$x++;
}
for ($i = 0; $i < $len; $i++)
{
$str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
}
return base64_encode($str);
}
//解密
function decrypt($data, $key)
{
$key = md5($key);
$x = 0;
$data = base64_decode($data);
$len = strlen($data);
$l = strlen($key);
for ($i = 0; $i < $len; $i++)
{
if ($x == $l)
{
$x = 0;
}
$char .= substr($key, $x, 1);
$x++;
}
for ($i = 0; $i < $len; $i++)
{
if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))
{
$str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
}
else
{
$str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
}
}
return $str;
}
//實(shí)驗(yàn)
$sign = '啊啊啊啊';//一般簽名數(shù)據(jù)最好加上當(dāng)前時(shí)間戳
$signE = encrypt($sign,"asd");
echo $signE;
$signD = decrypt($signE,"asd");
echo "\r\n".$signD;
php可逆加密encrypt
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- PHP 在進(jìn)入7.x 時(shí)代后,默認(rèn)就不再附帶 mcrypt 擴(kuò)展,mcrypt 將被 openssl_* 一族函數(shù)...
- 前言:先簡單介紹幾種加密 對稱加密加密解密的秘鑰是同一個(gè)。相對來講簡單一些,同時(shí)相對不安全。常見的是:DES、AE...
- 還有幾個(gè)小時(shí),就是自己32歲生日了,默默祝自己:生日快樂! 白駒過隙,時(shí)光荏苒,那個(gè)獨(dú)坐門邊望游云的小丫頭早已是人...