2021-03-01 05:13
本文关键详细介绍了一组PHP可逆数据加密解密优化算法案例编码,有必须的朋友能够参照一下
针对大部分分登陆密码数据加密,大家能够选用md5、sha1等方式。能够合理避免数据信息泄漏,可是这种方式仅可用于不用复原的数据信息数据加密。
针对必须复原的信息内容,则必须选用可逆的数据加密解密优化算法。
下边一组PHP涵数是完成此数据加密解密的方式:
数据加密优化算法以下:
编码以下:
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;
所述数据加密解密的全过程均必须采用一个数据加密密匙(即主要参数$key)。
拷贝编码 编码以下:
$data = PHP数据加密解密优化算法 // 被数据加密信息内容
$key = 123 // 密匙
$encrypt = encrypt($data, $key);
$decrypt = decrypt($encrypt, $key);
echo $encrypt, n , $decrypt;
所述将輸出相近以下結果:
gniCSOzZG+HnS9zcFea7SefNGhXF
PHP数据加密解密优化算法
申明:文中系转截自互联网,未认证能用性,著作权归著作人全部