一组简单易懂的加密解密方法
程序员文章站
2024-03-14 15:08:34
...
话不多说 直接贴方法
加密:
function encrypt($data, $key)
{
$key = md5($key);
$x = 0;
$len = strlen($data);
$l = strlen($key);
$char = '';
$str = '';
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);
$char = '';
$str = '';
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;
}
使用方法:
$data = '我爱CSDN'; // 加密的信息
$key = '521csdn'; // 自行设置的**
$encrypt = encrypt($data, $key);
$decrypt = decrypt($encrypt, $key);
echo '加密为:'.$encrypt;
echo '解密为:'.$decrypt;
结果为:
加密为:GO7BSbjoe4x4gg==解密为:我爱CSDN
原文:http://www.phper.org.cn/index.php?m=content&a=show&post_id=387
上一篇: Python爬虫必备技术点(二)
下一篇: C++好用的算法库(二)——GSL