200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 一组PHP可逆加密解密算法实例代码

一组PHP可逆加密解密算法实例代码

时间:2023-02-12 21:33:47

相关推荐

一组PHP可逆加密解密算法实例代码

php教程|php手册

PHP,可逆加密算法

php教程-php手册

网页验证系统源码,ubuntu软件哪个好,在tomcat中配置数据库,爬虫python信息泄露,基于php的家具购物网站,南阳seo学校lzw

这篇文章主要介绍了一组PHP可逆加密解密算法实例代码,有需要的朋友可以参考一下

应用商城源码下载,Ubuntu跳过安装引导,增加tomcat6的内存,爬虫技术 c ,国外免费php空间大全,亚马逊seo系统lzw

棋牌论坛网站源码,vscode启动电脑死机,ubuntu 目录补全,tomcat的源码包,卡通爬爬虫,php 递归创建文件,佛山百度seo引流,资源类型网站源码,cms 应用市场模板lzw

对于大部分密码加密,我们可以采用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加密解密算法

从上述结果可以看出,,这是一组可逆的加密解密算法,可以用于部分需要还原的数据加密。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。